NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-ia64/51261: ia64 fix build.sh release and distribution targets



The following reply was made to PR port-ia64/51261; it has been noted by GNATS.

From: scole_mail%gmx.com@localhost
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: port-ia64/51261: ia64 fix build.sh release and distribution targets
Date: Tue, 21 Jun 2016 17:39:22 -0400

 Summary of changes:       (? = New, D = Removed, M = Modified)
 =============================================================
 ? common/lib/libc/arch/ia64/string/		# new dir
 ? common/lib/libc/arch/ia64/string/bcopy.S	# import from FreeBSD
 ? common/lib/libc/arch/ia64/string/bzero.S	# import from FreeBSD
 ? common/lib/libc/arch/ia64/string/ffs.S	# import from FreeBSD
 ? common/lib/libc/arch/ia64/string/memcpy.S	# import from FreeBSD
 ? common/lib/libc/arch/ia64/string/memmove.S	# import from FreeBSD
 ? distrib/ia64/					# new dir
 ? distrib/ia64/Makefile				# for building release
 ? distrib/ia64/cdroms/				# new dir
 ? distrib/ia64/cdroms/Makefile			# for building cdrom release
 ? distrib/ia64/cdroms/installcd/		# for building cdrom release
 ? distrib/ia64/cdroms/installcd/Makefile	# for building cdrom release
 ? distrib/sets/lists/base/md.ia64		# add skiload loader.sym, loader.efi eventually
 ? distrib/sets/lists/comp/md.ia64		# add ia64 includes
 ? etc/etc.ia64/					# new dir
 ? etc/etc.ia64/MAKEDEV.conf			# initial stubs for build
 ? etc/etc.ia64/Makefile.inc			# initial stubs for build
 ? etc/etc.ia64/rc.conf.append			# initial stubs for build
 ? etc/etc.ia64/ttys				# initial stubs for build
 ? lib/libc/arch/ia64/gen/fpgetsticky.c		# stub for build
 ? lib/libc/arch/ia64/gen/fpsetsticky.c		# stub for build
 ? lib/libc/arch/ia64/gen/getcontext.S		# stub for build
 ? lib/libc/arch/ia64/gen/makecontext.c		# stub for build
 ? lib/libc/arch/ia64/gen/swapcontext.S		# stub for build
 ? sys/arch/ia64/ia64/core_machdep.c		# stub for build
 ? sys/arch/ia64/ia64/procfs_machdep.c		# added
 M distrib/sets/lists/base/shl.mi		# change dynamicroot for ./lib/npf*, usr/libexec/ld.elf_so
 M distrib/sets/lists/modules/md.ia64		# add exec_elf64
 M external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c # add ia64 case for JEMALLOC_TINY_MIN_2POW
 M lib/libc/arch/ia64/gen/Makefile.inc		# add ieee754 & fp* files
 M lib/libc/arch/ia64/sys/__clone.S		# add stub for build
 M lib/libc/arch/ia64/sys/ptrace.S		# add stub for build
 M lib/libc/arch/ia64/sys/sbrk.S			# add stub for build
 M lib/libc/arch/ia64/sys/shmat.S		# add stub for build
 M lib/libkvm/kvm_ia64.c				# add stub for build
 M share/mk/bsd.own.mk				# don't build elf32 obj format, MKDYNAMICROOT=no, MKRUMP=no
 M sys/arch/ia64/conf/files.ia64			# add pci which acpi requires now
 M sys/arch/ia64/ia64/support.S			# use bcopy,memcpy from common/lib/libc/arch/ia64/string
 M sys/arch/ia64/ia64/vm_machdep.c		# add volatile flag for trapframe var
 M sys/arch/ia64/include/Makefile		# remove acpi_func.h dependency
 M sys/arch/ia64/include/mcontext.h		# add stubs __gregs __fpregs, __UC_MACHINE_PC
 M sys/arch/ia64/include/pci_machdep.h		# add pci_enumerate_bus
 M sys/arch/ia64/pci/pci_machdep.c		# add pci_enumerate_bus stub
 M sys/arch/ia64/stand/Makefile			# include exec_elf64, not exec_elf32
 M sys/arch/ia64/stand/ia64/efi/Makefile		# add bsd.files.mk include
 M sys/lib/libkern/arch/ia64/Makefile.inc	# add common bcopy bzero ffs memcpy memmove
 D sys/arch/ia64/include/acpi_func.h		# deleted, use sys/dev version
 M sys/modules/Makefile				# include exec_elf64, not exec_elf32
 M tests/lib/libc/arch/ia64/return_one.S		# use correct ia64 nop
 M tests/lib/libc/sys/t_getrusage.c		# use correct ia64 nop
 D sys/lib/libkern/arch/ia64/memcpy.S		# deleted, use common/libc version
 
 Apply patch with "cd .../src ; patch -s -p0 < .../patchfile"
 
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ common/lib/libc/arch/ia64/string/bcopy.S	2016-06-18 10:09:00.000000000 -0400
 @@ -0,0 +1,98 @@
 +/*-
 + * Copyright (c) 2000 Doug Rabson
 + * All rights reserved.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions
 + * are met:
 + * 1. Redistributions of source code must retain the above copyright
 + *    notice, this list of conditions and the following disclaimer.
 + * 2. Redistributions in binary form must reproduce the above copyright
 + *    notice, this list of conditions and the following disclaimer in the
 + *    documentation and/or other materials provided with the distribution.
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 + * SUCH DAMAGE.
 + */
 +
 +#include <machine/asm.h>
 +/*__FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/bcopy.S 125669 2004-02-10 20:45:28Z cperciva $"); */
 +
 +/*
 + * Not the fastest bcopy in the world.
 + */
 +ENTRY(bcopy, 3)
 +	
 +#ifdef _KERNEL	
 +	mov	ret0=r0				// return zero for copy{in,out}
 +#endif	
 +	;;
 +	cmp.le	p6,p0=in2,r0			// bail if len <= 0
 +(p6)	br.ret.spnt.few rp
 +
 +	sub	r14=in1,in0 ;;			// check for overlap
 +	cmp.ltu	p6,p0=r14,in2			// dst-src < len
 +(p6)	br.cond.spnt.few 5f
 +
 +	extr.u	r14=in0,0,3			// src & 7
 +	extr.u	r15=in1,0,3 ;;			// dst & 7
 +	cmp.eq	p6,p0=r14,r15			// different alignment?
 +(p6)	br.cond.spnt.few 2f			// branch if same alignment
 +
 +1:	ld1	r14=[in0],1 ;;			// copy bytewise
 +	st1	[in1]=r14,1
 +	add	in2=-1,in2 ;;			// len--
 +	cmp.ne	p6,p0=r0,in2
 +(p6)	br.cond.dptk.few 1b			// loop
 +	br.ret.sptk.few rp			// done
 +
 +2:	cmp.eq	p6,p0=r14,r0			// aligned?
 +(p6)	br.cond.sptk.few 4f
 +
 +3:	ld1	r14=[in0],1 ;;			// copy bytewise
 +	st1	[in1]=r14,1
 +	extr.u	r15=in0,0,3			// src & 7
 +	add	in2=-1,in2 ;;			// len--
 +	cmp.eq	p6,p0=r0,in2			// done?
 +	cmp.eq	p7,p0=r0,r15 ;;			// aligned now?
 +(p6)	br.ret.spnt.few rp			// return if done
 +(p7)	br.cond.spnt.few 4f			// go to main copy
 +	br.cond.sptk.few 3b			// more bytes to copy
 +
 +	// At this point, in2 is non-zero
 +
 +4:	mov	r14=8 ;;
 +	cmp.ltu	p6,p0=in2,r14 ;;		// len < 8?
 +(p6)	br.cond.spnt.few 1b			// byte copy the end
 +	ld8	r15=[in0],8 ;;			// copy word
 +	st8	[in1]=r15,8
 +	add	in2=-8,in2 ;;			// len -= 8
 +	cmp.ne	p6,p0=r0,in2			// done?
 +(p6)	br.cond.spnt.few 4b			// again
 +
 +	br.ret.sptk.few rp			// return
 +
 +	// Don't bother optimising overlap case
 +
 +5:	add	in0=in0,in2
 +	add	in1=in1,in2 ;;
 +	add	in0=-1,in0
 +	add	in1=-1,in1 ;;
 +
 +6:	ld1	r14=[in0],-1 ;;
 +	st1	[in1]=r14,-1
 +	add	in2=-1,in2 ;;
 +	cmp.ne	p6,p0=r0,in2
 +(p6)	br.cond.spnt.few 6b
 +
 +	br.ret.sptk.few rp
 +END(bcopy)
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ common/lib/libc/arch/ia64/string/bzero.S	2016-06-15 11:04:28.000000000 -0400
 @@ -0,0 +1,81 @@
 +/*-
 + * Copyright (c) 2000 Doug Rabson
 + * All rights reserved.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions
 + * are met:
 + * 1. Redistributions of source code must retain the above copyright
 + *    notice, this list of conditions and the following disclaimer.
 + * 2. Redistributions in binary form must reproduce the above copyright
 + *    notice, this list of conditions and the following disclaimer in the
 + *    documentation and/or other materials provided with the distribution.
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 + * SUCH DAMAGE.
 + */
 +
 +#include <machine/asm.h>
 +/* __FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/bzero.S 125669 2004-02-10 20:45:28Z cperciva $"); */
 +
 +ENTRY(bzero, 2)
 +	
 +	cmp.le	p6,p0=in1,r0			// bail if len <= 0
 +(p6)	br.ret.spnt.few rp
 +	;; 
 +	mov	r14=ar.lc			// save ar.lc
 +
 +	cmp.ltu	p6,p0=17,in1			// check for small
 +(p6)	br.dptk.few 3f	
 +
 +1:	add	r15=-1,in1 ;;
 +	mov	ar.lc=r15 ;;
 +2:	st1	[in0]=r0,1			// zero one byte
 +	br.cloop.sptk.few 2b			// loop
 +
 +	;;
 +	mov	ar.lc=r14			// done
 +	br.ret.sptk.few rp
 +
 +	// Zero up to 8byte alignment
 +	
 +3:	tbit.nz	p6,p0=in0,0 ;;
 +(p6)	st1	[in0]=r0,1
 +(p6)	add	in1=-1,in1 ;;
 +
 +	tbit.nz	p6,p0=in0,1 ;;
 +(p6)	st2	[in0]=r0,2
 +(p6)	add	in1=-2,in1 ;;
 +
 +	tbit.nz	p6,p0=in0,2 ;;
 +(p6)	st4	[in0]=r0,4
 +(p6)	add	in1=-4,in1
 +
 +	;;
 +	shr.u	r15=in1,3			// word count
 +	extr.u	in1=in1,0,3 ;;			// trailing bytes
 +	cmp.eq	p6,p0=r15,r0			// check for zero
 +	cmp.ne	p7,p0=in1,r0
 +(p6)	br.dpnt.few 1b				// zero last bytes
 +
 +	add	r15=-1,r15 ;;
 +	mov	ar.lc=r15 ;;
 +4:	st8	[in0]=r0,8
 +	br.cloop.sptk.few 4b 
 +
 +(p7)	br.dpnt.few 1b				// zero last bytes
 +
 +	;;
 +	mov	ar.lc=r14			// done
 +	br.ret.sptk.few rp
 +
 +END(bzero)
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ common/lib/libc/arch/ia64/string/ffs.S	2016-06-15 11:04:38.000000000 -0400
 @@ -0,0 +1,99 @@
 +/*	$NetBSD: ffs.S,v 1.3 1996/10/17 03:08:13 cgd Exp $	*/
 +
 +/*
 + * Copyright (c) 1995 Christopher G. Demetriou
 + * All rights reserved.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions
 + * are met:
 + * 1. Redistributions of source code must retain the above copyright
 + *    notice, this list of conditions and the following disclaimer.
 + * 2. Redistributions in binary form must reproduce the above copyright
 + *    notice, this list of conditions and the following disclaimer in the
 + *    documentation and/or other materials provided with the distribution.
 + * 3. All advertising materials mentioning features or use of this software
 + *    must display the following acknowledgement:
 + *      This product includes software developed by Christopher G. Demetriou
 + *	for the NetBSD Project.
 + * 4. The name of the author may not be used to endorse or promote products
 + *    derived from this software without specific prior written permission
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 + */
 +
 +#include <machine/asm.h>
 +/*__FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/ffs.S 111777 2003-03-03 01:09:46Z obrien $"); */
 +
 +ENTRY(ffs, 1)
 +	sxt4	r14=in0 ;;
 +	cmp.eq	p6,p0=r14,r0
 +(p6)	br.dpnt.few Lallzero
 +	
 +	/*
 +	 * Initialize return value (ret0), and set up r15 so that it
 +	 * contains the mask with only the lowest bit set.
 +	 */
 +	sub	r15=r0,r14
 +	mov	ret0=1 ;;
 +	and	r15=r14,r15 ;;
 +
 +	extr.u	r16=r15,0,8 ;;
 +	cmp.ne	p6,p0=r0,r16
 +(p6)	br.dptk.few Ldo8
 +
 +	/*
 +	 * If lower 16 bits empty, add 16 to result and use upper 16.
 +	 */
 +	extr.u	r16=r15,0,16 ;;
 +	cmp.ne	p6,p0=r0,r16
 +(p6)	br.dptk.few Ldo16
 +	extr.u	r15=r15,16,16
 +	add	ret0=16,ret0 ;;
 +	
 +Ldo16:
 +	/*
 +	 * If lower 8 bits empty, add 8 to result and use upper 8.
 +	 */
 +	extr.u	r16=r15,0,8 ;;
 +	cmp.ne	p6,p0=r0,r16
 +(p6)	br.dptk.few Ldo8
 +	extr.u	r15=r15,8,24
 +	add	ret0=8,ret0 ;;
 +
 +Ldo8:
 +	and	r16=0x0f,r15		/* lower 4 of 8 empty? */
 +	and	r17=0x33,r15		/* lower 2 of each 4 empty? */
 +	and	r18=0x55,r15 ;;		/* lower 1 of each 2 empty? */
 +	cmp.ne	p6,p0=r16,r0
 +	cmp.ne	p7,p0=r17,r0
 +	cmp.ne	p8,p0=r18,r0
 +
 +	/* If lower 4 bits empty, add 4 to result. */
 +(p6)	br.dptk.few Ldo4
 +	add	ret0=4,ret0 ;;
 +
 +Ldo4:	/* If lower 2 bits of each 4 empty, add 2 to result. */
 +(p7)	br.dptk.few Ldo2
 +	add	ret0=2,ret0 ;;
 +
 +Ldo2:	/* If lower bit of each 2 empty, add 1 to result. */
 +(p8)	br.dptk.few Ldone
 +	add	ret0=1,ret0
 +
 +Ldone:
 +	br.ret.sptk.few rp
 +
 +Lallzero:
 +	mov	ret0=0
 +	br.ret.sptk.few rp
 +END(ffs)
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ common/lib/libc/arch/ia64/string/memcpy.S	2016-06-18 11:31:42.000000000 -0400
 @@ -0,0 +1,55 @@
 +/*-
 + * Copyright (c) 2000 Doug Rabson
 + * All rights reserved.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions
 + * are met:
 + * 1. Redistributions of source code must retain the above copyright
 + *    notice, this list of conditions and the following disclaimer.
 + * 2. Redistributions in binary form must reproduce the above copyright
 + *    notice, this list of conditions and the following disclaimer in the
 + *    documentation and/or other materials provided with the distribution.
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 + * SUCH DAMAGE.
 + */
 +
 +#include <machine/asm.h>
 +/*__FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/memcpy.S 134739 2004-09-04 00:04:58Z marcel $"); */
 +
 +/*
 + * copied from freebsd.
 + * kernel bcopy sets ret0 = 0, for copyin/copyout
 + * r14 = scratch
 + * r8  = ret0
 + */
 +#ifdef _KERNEL
 +
 +ENTRY(memcpy,3)
 +	mov	r14=in0 ;;
 +	mov	in0=in1 ;;
 +	mov	in1=r14
 +	br.cond.sptk.few bcopy
 +END(memcpy)
 +
 +#else
 +	
 +ENTRY(memcpy,3)
 +	mov	r8 = in0
 +	mov	in0 = in1
 +	;;
 +	mov	in1 = r8
 +	br.sptk.few bcopy
 +END(memcpy)
 +
 +#endif
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ common/lib/libc/arch/ia64/string/memmove.S	2016-06-18 10:30:11.000000000 -0400
 @@ -0,0 +1,51 @@
 +/*-
 + * Copyright (c) 2000 Doug Rabson
 + * All rights reserved.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions
 + * are met:
 + * 1. Redistributions of source code must retain the above copyright
 + *    notice, this list of conditions and the following disclaimer.
 + * 2. Redistributions in binary form must reproduce the above copyright
 + *    notice, this list of conditions and the following disclaimer in the
 + *    documentation and/or other materials provided with the distribution.
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 + * SUCH DAMAGE.
 + */
 +
 +#include <machine/asm.h>
 +/*__FBSDID("$FreeBSD: releng/10.1/lib/libc/ia64/string/memmove.S 134743 2004-09-04 00:23:15Z marcel $"); */
 +
 +/* do same as memcpy.S */
 +
 +#ifdef _KERNEL
 +
 +ENTRY(memmove,3)
 +	mov	r14=in0 ;;
 +	mov	in0=in1 ;;
 +	mov	in1=r14
 +	br.cond.sptk.few bcopy
 +END(memmove)
 +	
 +#else
 +
 +ENTRY(memmove,3)
 +	mov	r8 = in0
 +	mov	in0 = in1
 +	;;
 +	mov	in1 = r8
 +	br.sptk.few bcopy
 +END(memmove)
 +	
 +#endif
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ distrib/ia64/Makefile	2016-06-19 09:30:13.000000000 -0400
 @@ -0,0 +1,18 @@
 +#	$NetBSD$
 +
 +.include <bsd.own.mk>
 +.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
 +
 +.include <bsd.kernobj.mk>
 +
 +# XXX add other SUBDIR
 +
 +SUBDIR=		cdroms
 +#SUBDIR+=	netboot ramdisk
 +
 +TARGETS+=	release
 +
 +iso_image:
 +	${MAKEDIRTARGET} cdroms iso_image
 +
 +.include <bsd.subdir.mk>
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ distrib/ia64/cdroms/Makefile	2016-06-19 09:27:28.000000000 -0400
 @@ -0,0 +1,6 @@
 +#       $NetBSD$
 +
 +SUBDIR=		installcd
 +TARGETS+=	release iso_image
 +
 +.include <bsd.subdir.mk>
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ distrib/ia64/cdroms/installcd/Makefile	2016-06-19 09:28:13.000000000 -0400
 @@ -0,0 +1,12 @@
 +#	$NetBSD$
 +CDBASE=		ia64cd		# gives ${CDBASE}.iso
 +#CDINSTKERNEL=	../../instkernel/instkernel
 +CDKERNELS=	netbsd netbsd
 +CDRELEASE=	true			# include $RELEASEDIR/$MACHINE
 +
 +#make the CD bootable
 +image_md_post:
 +	${TOOL_INSTALLBOOT} -m${MACHINE} ${CDIMAGE} bootxx.${MACHINE}
 +
 +.include "${.CURDIR}/../../../common/Makefile.bootcd"
 +
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ distrib/sets/lists/base/md.ia64	2016-06-20 11:09:26.000000000 -0400
 @@ -0,0 +1,7 @@
 +# $NetBSD md.ia64 $
 +#
 +# XXX include skiload for now
 +# XXX add loader.efi when PR 49717 & 50719 checked in
 +#./loader.efi			base-sysutil-bin
 +./loader.sym			base-sysutil-bin
 +./skiload			base-sysutil-bin
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ distrib/sets/lists/comp/md.ia64	2016-06-16 15:39:43.000000000 -0400
 @@ -0,0 +1,60 @@
 +# $NetBSDE: md.ia64 $
 +./usr/include/gcc-4.8/ia64intrin.h	comp-c-include
 +./usr/include/gcc-4.8/tgmath.h		comp-c-include
 +./usr/include/ia64			comp-c-include
 +./usr/include/ia64/_regset.h		comp-c-include
 +./usr/include/ia64/acpi_machdep.h	comp-c-include
 +./usr/include/ia64/ansi.h		comp-c-include
 +./usr/include/ia64/aout_machdep.h	comp-c-include
 +./usr/include/ia64/asm.h		comp-c-include
 +./usr/include/ia64/atomic.h		comp-c-include
 +./usr/include/ia64/bootinfo.h		comp-c-include
 +./usr/include/ia64/bswap.h		comp-c-include
 +./usr/include/ia64/cdefs.h		comp-c-include
 +./usr/include/ia64/cpu.h		comp-c-include
 +./usr/include/ia64/cpufunc.h		comp-c-include
 +./usr/include/ia64/dig64.h		comp-c-include
 +./usr/include/ia64/disklabel.h		comp-c-include
 +./usr/include/ia64/efi.h		comp-c-include
 +./usr/include/ia64/elf_machdep.h	comp-c-include
 +./usr/include/ia64/endian.h		comp-c-include
 +./usr/include/ia64/endian_machdep.h	comp-c-include
 +./usr/include/ia64/float.h		comp-c-include
 +./usr/include/ia64/fpu.h		comp-c-include
 +./usr/include/ia64/frame.h		comp-c-include
 +./usr/include/ia64/ia64_cpu.h		comp-c-include
 +./usr/include/ia64/ieee.h		comp-c-include
 +./usr/include/ia64/ieeefp.h		comp-c-include
 +./usr/include/ia64/int_const.h		comp-c-include
 +./usr/include/ia64/int_fmtio.h		comp-c-include
 +./usr/include/ia64/int_limits.h		comp-c-include
 +./usr/include/ia64/int_mwgwtypes.h	comp-c-include
 +./usr/include/ia64/int_types.h		comp-c-include
 +./usr/include/ia64/intr.h		comp-c-include
 +./usr/include/ia64/limits.h		comp-c-include
 +./usr/include/ia64/loadfile_machdep.h	comp-c-include
 +./usr/include/ia64/lock.h		comp-c-include
 +./usr/include/ia64/math.h		comp-c-include
 +./usr/include/ia64/mca_machdep.h	comp-c-include
 +./usr/include/ia64/mcontext.h		comp-c-include
 +./usr/include/ia64/md_var.h		comp-c-include
 +./usr/include/ia64/mutex.h		comp-c-include
 +./usr/include/ia64/pal.h		comp-c-include
 +./usr/include/ia64/param.h		comp-c-include
 +./usr/include/ia64/pcb.h		comp-c-include
 +./usr/include/ia64/pmap.h		comp-c-include
 +./usr/include/ia64/proc.h		comp-c-include
 +./usr/include/ia64/profile.h		comp-c-include
 +./usr/include/ia64/pte.h		comp-c-include
 +./usr/include/ia64/ptrace.h		comp-c-include
 +./usr/include/ia64/reg.h		comp-c-include
 +./usr/include/ia64/rwlock.h		comp-c-include
 +./usr/include/ia64/sal.h		comp-c-include
 +./usr/include/ia64/setjmp.h		comp-c-include
 +./usr/include/ia64/signal.h		comp-c-include
 +./usr/include/ia64/smp.h		comp-c-include
 +./usr/include/ia64/ssc.h		comp-c-include
 +./usr/include/ia64/types.h		comp-c-include
 +./usr/include/ia64/vmparam.h		comp-c-include
 +./usr/include/ia64/wchar_limits.h	comp-c-include
 +./usr/include/ieeefp.h			comp-c-include
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ etc/etc.ia64/MAKEDEV.conf	2016-06-16 13:41:12.000000000 -0400
 @@ -0,0 +1,48 @@
 +# $NetBSD: MAKEDEV.conf,v 1.25 2012/09/23 01:15:17 chs Exp $
 +
 +# As of 2005-03-15, the "init" case must not create more than 1024 entries.
 +all_md)
 +	makedev std wscons wt0 fd0 fd1
 +	makedev wd0 wd1 wd2 wd3 wd4 wd5 wd6 wd7
 +	makedev sd0 sd1 sd2 sd3 sd4 sd5 sd6 sd7
 +	makedev flash0 flash1 flash2 flash3 flash4 flash5 flash6 flash7
 +	makedev tty0 tty1 tty2 tty3
 +	makedev st0 st1 ch0 cd0 cd1 mcd0 vnd0
 +	makedev bpf
 +	makedev ccd0 md0 random
 +	makedev cgd0 cgd1
 +	makedev amr0 iop0 mfi0 mlx0 mly0 dpti0 dpt0 twe0 icp0
 +	makedev ed0 ed1
 +	makedev raid0 raid1 raid2 raid3
 +	makedev ld0 ld1 ld2 ld3
 +	makedev xbd0 xbd1 xbd2 xbd3 xen
 +	makedev usbs
 +	makedev ipty
 +	makedev local
 +	makedev lpa0 lpa1 lpa2
 +	makedev lpt0 lpt1 lpt2
 +	makedev ss0 uk0 uk1
 +	makedev speaker joy0 joy1
 +	makedev apm satlink0
 +	makedev cmos
 +	makedev audio
 +	makedev radio
 +	makedev isdns
 +	makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
 +	makedev scsibus0 scsibus1 scsibus2 scsibus3
 +	makedev ses0 ses1 ses2 ses3
 +	makedev sysmon
 +	makedev bktr
 +	makedev ttyCZ0 ttyCY0
 +	makedev agp0
 +	makedev pci0 pci1 pci2 pci3 pci4 pci5 pci6 pci7
 +	makedev pci8 pci9 pci10 pci11
 +	makedev altq
 +	makedev cir0 cir1 irframe0 irframe1
 +	makedev dmoverio
 +	makedev kttcp
 +	makedev nsmb
 +	makedev io
 +	makedev bio
 +	makedev cfs
 +	;;
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ etc/etc.ia64/Makefile.inc	2016-06-16 13:51:49.000000000 -0400
 @@ -0,0 +1,27 @@
 +#	$NetBSD$
 +#
 +#	etc.ia64/Makefile.inc -- ia64-specific etc Makefile targets
 +#
 +
 +# If you change the list of distributed kernels, don't forget
 +# to update the release documentation in distrib/notes/common/contents
 +
 +# XXX fix all this
 +
 +KERNEL_SETS=	GENERIC
 +KERNEL_SETS+=	GENERIC.SKI
 +
 +#BUILD_KERNELS+=	INSTALL
 +
 +#INSTALLATION_DIRS+=	installation/cdrom
 +#INSTALLATION_DIRS+=	installation/diskimage
 +#INSTALLATION_DIRS+=	installation/instkernel
 +#INSTALLATION_DIRS+=	installation/netboot
 +
 +#snap_md_post:
 +#	cd ${KERNSRCDIR}/arch/i386/stand/dosboot && ${MAKE} release
 +#	cd ${KERNSRCDIR}/arch/i386/stand/pxeboot && ${MAKE} release
 +#	cd ${KERNSRCDIR}/arch/i386/stand/misc && ${MAKE} release
 +#	${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/cdrom '*.iso'
 +#	${MAKESUMS} -t ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/floppy '*.fs'
 +#	cd ${KERNSRCDIR}/arch/alpha/stand/netboot && ${MAKE} release
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ etc/etc.ia64/rc.conf.append	2011-12-04 08:09:07.000000000 -0500
 @@ -0,0 +1,15 @@
 +#	$NetBSD: rc.conf.append,v 1.2 2011/12/04 13:09:07 jmcneill Exp $
 +#
 +# Arch-specific rc.conf(5) configuration.
 +
 +# powerd(8) is required under Xen to manage save/restore events.
 +#
 +if /sbin/sysctl -q machdep.xen; then
 +	powerd=YES
 +fi
 +
 +# powerd(8) is recommended if ACPI is enabled to handle PM events.
 +#
 +if /sbin/sysctl -q hw.acpi.root; then
 +	powerd=YES
 +fi
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ etc/etc.ia64/ttys	2016-06-16 15:49:58.000000000 -0400
 @@ -0,0 +1,23 @@
 +#
 +#	$NetBSD: ttys,v 1.12 2012/06/13 20:49:12 martin Exp $
 +#
 +# name	getty				type	status		comments
 +
 +# In normal operation, getty on 'console' pseudo-device is disabled, and is
 +# enabled for the correct 'real' device (e.g. one of the serial ports).
 +
 +# console pseudo-device
 +console	"/usr/libexec/getty std.9600"	vt100 on secure
 +constty	"/usr/libexec/getty std.9600"	vt100 off secure
 +
 +# Workstation console (framebuffer) ttys
 +ttyE0	"/usr/libexec/getty std.9600"	wsvt25 off secure
 +ttyE1	"/usr/libexec/getty std.9600"	wsvt25 off secure
 +
 +# DEC 3000 Z8530 ("scc") serial ports
 +ttyB0	"/usr/libexec/getty std.9600"	unknown off secure
 +ttyB1	"/usr/libexec/getty std.9600"	unknown off secure
 +
 +# AlphaStation NS16550 ("com") serial ports
 +ttyC0	"/usr/libexec/getty std.9600"	unknown off secure
 +ttyC1	"/usr/libexec/getty std.9600"	unknown off secure
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ lib/libc/arch/ia64/gen/fpgetsticky.c	2016-06-16 10:01:25.000000000 -0400
 @@ -0,0 +1,13 @@
 +#include <sys/cdefs.h>
 +
 +#include <sys/types.h>
 +#include <ieeefp.h>
 +
 +fp_except_t
 +fpgetsticky(void)
 +{
 +  /* XXX implement, pause in ski */
 +  __asm __volatile("break.i 0");
 +
 +  return (fp_except_t)0;
 +}
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ lib/libc/arch/ia64/gen/fpsetsticky.c	2016-06-16 10:00:35.000000000 -0400
 @@ -0,0 +1,13 @@
 +#include <sys/cdefs.h>
 +
 +#include <sys/types.h>
 +#include <ieeefp.h>
 +
 +fp_except_t
 +fpsetsticky(fp_except_t sticky)
 +{
 +  /* XXX implement, pause in ski */
 +  __asm __volatile("break.i 0");
 +  
 +  return (fp_except_t)0;
 +}
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ lib/libc/arch/ia64/gen/getcontext.S	2016-06-14 13:31:07.000000000 -0400
 @@ -0,0 +1,12 @@
 +#include "SYS.h"
 +
 +#ifdef WEAK_ALIAS
 +WEAK_ALIAS(getcontext, _getcontext)
 +#endif	
 +
 +ENTRY(_getcontext,0)
 +	
 +	/* XXX implement, halt in ski */
 +	break.i 0
 +
 +END(_getcontext)
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ lib/libc/arch/ia64/gen/makecontext.c	2016-06-14 13:26:41.000000000 -0400
 @@ -0,0 +1,17 @@
 +#include <inttypes.h>
 +#include <stddef.h>
 +#include <ucontext.h>
 +#include "extern.h"
 +
 +#if __STDC__
 +#include <stdarg.h>
 +#else
 +#include <varargs.h>
 +#endif
 +
 +void
 +makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
 +{
 +  /* XXX implement, halt in ski */
 +  __asm __volatile("break.i 0");
 +}
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ lib/libc/arch/ia64/gen/swapcontext.S	2016-06-14 13:31:38.000000000 -0400
 @@ -0,0 +1,9 @@
 +#include "SYS.h"
 +
 +ENTRY(swapcontext,0)
 +	
 +	/* XXX implement, halt in ski */
 +	break.i 0
 +	
 +END(swapcontext)
 +
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ sys/arch/ia64/ia64/core_machdep.c	2016-06-16 10:20:02.000000000 -0400
 @@ -0,0 +1,32 @@
 +#include <sys/cdefs.h>			/* RCS ID & Copyright macro defns */
 +/*
 +__KERNEL_RCSID(0, "$NetBSD: core_machdep.c,v 1.1 2016/06/16 12:00:00 dsl Exp $");
 +*/
 +#include <sys/param.h>
 +#include <sys/systm.h>
 +#include <sys/proc.h>
 +#include <sys/malloc.h>
 +#include <sys/buf.h>
 +#include <sys/vnode.h>
 +#include <sys/core.h>
 +#include <sys/exec.h>
 +
 +#include <sys/exec_aout.h>
 +
 +#include <machine/cpu.h>
 +#include <machine/ia64_cpu.h>
 +#include <machine/pmap.h>
 +#include <machine/reg.h>
 +
 +/*
 + * Dump the machine specific header information at the start of a core dump.
 + */
 +int
 +cpu_coredump(struct lwp *l, struct coredump_iostate *iocookie,
 +    struct core *chdr)
 +{
 +  /* XXX implement, pause in ski */
 +  __asm __volatile("break.i 0");
 +
 +  return -1;
 +}
 --- /dev/null	2016-06-21 12:51:38.000000000 -0400
 +++ sys/arch/ia64/ia64/procfs_machdep.c	2016-06-20 10:23:54.000000000 -0400
 @@ -0,0 +1,22 @@
 +
 +#include <sys/cdefs.h>
 +__KERNEL_RCSID(0, "$NetBSD$");
 +
 +#include <sys/param.h>
 +#include <sys/systm.h>
 +#include <sys/mount.h>
 +#include <sys/vnode.h>
 +#include <miscfs/procfs/procfs.h>
 +
 +
 +/*
 + * Linux-style /proc/cpuinfo.
 + * Only used when procfs is mounted with -o linux.
 + */
 +int
 +procfs_getcpuinfstr(char *buf, size_t *len)
 +{
 +	*len = 0;
 +
 +	return 0;
 +}
 Index: distrib/sets/lists/base/shl.mi
 ===================================================================
 RCS file: /cvsroot/src/distrib/sets/lists/base/shl.mi,v
 retrieving revision 1.776
 diff -b -u -r1.776 shl.mi
 --- distrib/sets/lists/base/shl.mi	5 Jun 2016 01:31:03 -0000	1.776
 +++ distrib/sets/lists/base/shl.mi	21 Jun 2016 16:57:53 -0000
 @@ -88,15 +88,15 @@
  ./lib/libz.so					base-sys-shlib		dynamicroot
  ./lib/libz.so.1					base-sys-shlib		dynamicroot
  ./lib/libz.so.1.0				base-sys-shlib		dynamicroot
 -./lib/npf/ext_log.so				base-npf-shlib		dynamicroot,compatfile,npf
 -./lib/npf/ext_log.so.0				base-npf-shlib		dynamicroot,compatfile,npf
 -./lib/npf/ext_log.so.0.0			base-npf-shlib		dynamicroot,compatfile,npf
 -./lib/npf/ext_normalize.so			base-npf-shlib		dynamicroot,compatfile,npf
 -./lib/npf/ext_normalize.so.0			base-npf-shlib		dynamicroot,compatfile,npf
 -./lib/npf/ext_normalize.so.0.0			base-npf-shlib		dynamicroot,compatfile,npf
 -./lib/npf/ext_rndblock.so			base-npf-shlib		dynamicroot,compatfile,npf
 -./lib/npf/ext_rndblock.so.0			base-npf-shlib		dynamicroot,compatfile,npf
 -./lib/npf/ext_rndblock.so.0.0			base-npf-shlib		dynamicroot,compatfile,npf
 +./lib/npf/ext_log.so				base-npf-shlib		compatfile,npf
 +./lib/npf/ext_log.so.0				base-npf-shlib		compatfile,npf
 +./lib/npf/ext_log.so.0.0			base-npf-shlib		compatfile,npf
 +./lib/npf/ext_normalize.so			base-npf-shlib		compatfile,npf
 +./lib/npf/ext_normalize.so.0			base-npf-shlib		compatfile,npf
 +./lib/npf/ext_normalize.so.0.0			base-npf-shlib		compatfile,npf
 +./lib/npf/ext_rndblock.so			base-npf-shlib		compatfile,npf
 +./lib/npf/ext_rndblock.so.0			base-npf-shlib		compatfile,npf
 +./lib/npf/ext_rndblock.so.0.0			base-npf-shlib		compatfile,npf
  ./libexec/ld.elf_so				base-sys-shlib		dynamicroot
  ./usr/lib/i18n/libBIG5.so			base-i18n-shlib		compatfile
  ./usr/lib/i18n/libBIG5.so.5			base-i18n-shlib		compatfile
 @@ -870,4 +870,4 @@
  ./usr/lib/security/pam_skey.so.4		base-sys-shlib		compatfile,skey,pam
  ./usr/lib/security/pam_ssh.so.4			base-sys-shlib		compatfile,crypto,pam
  ./usr/lib/security/pam_unix.so.4		base-sys-shlib		compatfile,pam
 -./usr/libexec/ld.elf_so				base-sys-shlib
 +./usr/libexec/ld.elf_so				base-sys-shlib		dynamicroot
 Index: distrib/sets/lists/modules/md.ia64
 ===================================================================
 RCS file: /cvsroot/src/distrib/sets/lists/modules/md.ia64,v
 retrieving revision 1.3
 diff -b -u -r1.3 md.ia64
 --- distrib/sets/lists/modules/md.ia64	10 Aug 2014 11:51:40 -0000	1.3
 +++ distrib/sets/lists/modules/md.ia64	21 Jun 2016 16:57:55 -0000
 @@ -1,3 +1,5 @@
 -# $NetBSD: md.ia64,v 1.3 2014/08/10 11:51:40 bad Exp $
 +# $NetBSD: md.ia64 $
 +./@MODULEDIR@/exec_elf64			base-kernel-modules	kmod
 +./@MODULEDIR@/exec_elf64/exec_elf64.kmod	base-kernel-modules	kmod
  ./@MODULEDIR@/acpiverbose			base-kernel-modules	kmod
  ./@MODULEDIR@/acpiverbose/acpiverbose.kmod	base-kernel-modules	kmod
 Index: external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c
 ===================================================================
 RCS file: /cvsroot/src/external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c,v
 retrieving revision 1.3
 diff -b -u -r1.3 tree-ssa-ccp.c
 --- external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c	23 Sep 2015 03:39:11 -0000	1.3
 +++ external/gpl3/gcc.old/dist/gcc/tree-ssa-ccp.c	21 Jun 2016 16:57:57 -0000
 @@ -2541,6 +2541,7 @@
  
  #if defined(__alpha__) || defined(__amd64__) || defined(__sparc64__)	\
       ||	(defined(__arm__) && defined(__ARM_EABI)) || defined(__powerpc__) \
 +     || defined(__ia64__) \
       || ((defined(__mips__) || defined(__riscv__)) && defined(_LP64))
  #define	JEMALLOC_TINY_MIN_2POW	3
  #endif
 Index: lib/libc/arch/ia64/gen/Makefile.inc
 ===================================================================
 RCS file: /cvsroot/src/lib/libc/arch/ia64/gen/Makefile.inc,v
 retrieving revision 1.6
 diff -b -u -r1.6 Makefile.inc
 --- lib/libc/arch/ia64/gen/Makefile.inc	17 Apr 2015 12:51:05 -0000	1.6
 +++ lib/libc/arch/ia64/gen/Makefile.inc	21 Jun 2016 16:57:59 -0000
 @@ -1,10 +1,22 @@
  #	$NetBSD: Makefile.inc,v 1.6 2015/04/17 12:51:05 martin Exp $
  
 +# XXX figure out what is really needed
 +
  SRCS+=	_lwp.c
  SRCS+=	bswap16.c bswap32.c bswap64.c
  SRCS+=	setjmp.S _setjmp.S sigsetjmp.S
  SRCS+=	flt_rounds.c fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c
 +SRCS+=	fpgetsticky.c fpsetsticky.c
 +
 +# Common ieee754 constants and functions
 +SRCS+=	infinityf_ieee754.c infinity_ieee754.c infinityl_dbl_ieee754.c
 +SRCS+=	fpclassifyf_ieee754.c fpclassifyd_ieee754.c
  SRCS+=	isinff_ieee754.c isinfd_ieee754.c
  SRCS+=	isnanf_ieee754.c isnand_ieee754.c
 -SRCS+=	fpclassifyf_ieee754.c fpclassifyd_ieee754.c
 +SRCS+=	isfinitef_ieee754.c isfinited_ieee754.c
 +SRCS+=	signbitf_ieee754.c signbitd_ieee754.c
 +
 +SRCS+=	makecontext.c getcontext.S swapcontext.S
  
 +#SRCS+=	nanf.c infinityl.c
 +#SRCS+=	fpclassifyl.c isfinitel.c isinfl.c isnanl.c signbitl.c
 Index: lib/libc/arch/ia64/sys/__clone.S
 ===================================================================
 RCS file: /cvsroot/src/lib/libc/arch/ia64/sys/__clone.S,v
 retrieving revision 1.1
 diff -b -u -r1.1 __clone.S
 --- lib/libc/arch/ia64/sys/__clone.S	10 Sep 2006 21:22:34 -0000	1.1
 +++ lib/libc/arch/ia64/sys/__clone.S	21 Jun 2016 16:58:00 -0000
 @@ -1,3 +1,16 @@
  /* $NetBSD: __clone.S,v 1.1 2006/09/10 21:22:34 cherry Exp $ */
  	
  /* XXX:	 Stub */
 \ No newline at end of file
 +#include <sys/errno.h>
 +
 +#include "SYS.h"
 +
 +#ifdef WEAK_ALIAS
 +WEAK_ALIAS(clone, __clone)
 +#endif
 +
 +ENTRY(__clone,4)
 +	/* XXX implement, break in ski*/
 +	break.i 0
 +	
 +END(__clone)
 Index: lib/libc/arch/ia64/sys/ptrace.S
 ===================================================================
 RCS file: /cvsroot/src/lib/libc/arch/ia64/sys/ptrace.S,v
 retrieving revision 1.1
 diff -b -u -r1.1 ptrace.S
 --- lib/libc/arch/ia64/sys/ptrace.S	10 Sep 2006 21:22:34 -0000	1.1
 +++ lib/libc/arch/ia64/sys/ptrace.S	21 Jun 2016 16:58:02 -0000
 @@ -1,3 +1,10 @@
  /* $NetBSD: ptrace.S,v 1.1 2006/09/10 21:22:34 cherry Exp $ */
  	
  /* XXX:	 Stub */
 \ No newline at end of file
 +#include "SYS.h"
 +	
 +ENTRY(ptrace,0)
 +	/* XXX implement, halt in ski */
 +	break.i 0
 +
 +END(ptrace)
 Index: lib/libc/arch/ia64/sys/sbrk.S
 ===================================================================
 RCS file: /cvsroot/src/lib/libc/arch/ia64/sys/sbrk.S,v
 retrieving revision 1.2
 diff -b -u -r1.2 sbrk.S
 --- lib/libc/arch/ia64/sys/sbrk.S	23 Sep 2006 17:39:34 -0000	1.2
 +++ lib/libc/arch/ia64/sys/sbrk.S	21 Jun 2016 16:58:04 -0000
 @@ -34,6 +34,8 @@
  
  	.globl	_end
  
 +WEAK_ALIAS(sbrk, _sbrk)
 +	
  	.data
  EXPORT(__curbrk)
  	.quad	_end
 Index: lib/libc/arch/ia64/sys/shmat.S
 ===================================================================
 RCS file: /cvsroot/src/lib/libc/arch/ia64/sys/shmat.S,v
 retrieving revision 1.1
 diff -b -u -r1.1 shmat.S
 --- lib/libc/arch/ia64/sys/shmat.S	10 Sep 2006 21:22:34 -0000	1.1
 +++ lib/libc/arch/ia64/sys/shmat.S	21 Jun 2016 16:58:07 -0000
 @@ -1,3 +1,5 @@
  /* $NetBSD: shmat.S,v 1.1 2006/09/10 21:22:34 cherry Exp $ */
  	
 -/* XXX:	 Stub */
 \ No newline at end of file
 +#include "SYS.h"
 +
 +RSYSCALL(shmat)	
 Index: lib/libkvm/kvm_ia64.c
 ===================================================================
 RCS file: /cvsroot/src/lib/libkvm/kvm_ia64.c,v
 retrieving revision 1.1
 diff -b -u -r1.1 kvm_ia64.c
 --- lib/libkvm/kvm_ia64.c	17 Apr 2015 13:16:01 -0000	1.1
 +++ lib/libkvm/kvm_ia64.c	21 Jun 2016 16:58:09 -0000
 @@ -0,0 +1,59 @@
 +/* XXX implement these, freebsd versions in /usr/src/lib/libkvm/kvm_ia64.c */
 +#include <sys/param.h>
 +#include <sys/exec.h>
 +#include <sys/types.h>
 +#include <sys/systm.h>
 +
 +#include <db.h>
 +#include <limits.h>
 +#include <kvm.h>
 +#include <stdlib.h>
 +#include <unistd.h>
 +
 +#include "kvm_private.h"
 +
 +void
 +_kvm_freevtop(kvm_t *kd)
 +{
 +  printf("_kvm_freevtop not implemented\n");
 +  abort();
 +	if (kd->vmst != 0)
 +		free(kd->vmst);
 +}
 +
 +int
 +_kvm_initvtop(kvm_t *kd)
 +{
 +  printf("_kvm_initvtop not implemented\n");
 +  abort();
 +	return 0;
 +}
 +
 +off_t
 +_kvm_pa2off(kvm_t *kd, paddr_t pa)
 +{
 +  printf("_kvm_pa2off not implemented\n");
 +  abort();
 +}
 +
 +/*
 + * Translate a KVA to a PA
 + */
 +int
 +_kvm_kvatop(kvm_t *kd, vaddr_t va, paddr_t *pa)
 +{
 +  printf("_kvm_kvatop not implemented\n");
 +  abort();
 +}
 +
 +/*
 + * Machine-dependent initialization for ALL open kvm descriptors,
 + * not just those for a kernel crash dump.  Some architectures
 + * have to deal with these NOT being constants!  (i.e. m68k)
 + */
 +int
 +_kvm_mdopen(kvm_t *kd)
 +{
 +  printf("_kvm_mdopen not implemented\n");
 +  abort();
 +}
 Index: share/mk/bsd.own.mk
 ===================================================================
 RCS file: /cvsroot/src/share/mk/bsd.own.mk,v
 retrieving revision 1.936
 diff -b -u -r1.936 bsd.own.mk
 --- share/mk/bsd.own.mk	14 Jun 2016 13:26:45 -0000	1.936
 +++ share/mk/bsd.own.mk	21 Jun 2016 16:58:12 -0000
 @@ -627,7 +627,7 @@
  # for crunchide & ldd, define the OBJECT_FMTS used by a MACHINE_ARCH
  #
  OBJECT_FMTS=
 -.if	${MACHINE_ARCH} != "alpha" 
 +.if	${MACHINE_ARCH} != "alpha" && ${MACHINE_ARCH} != "ia64"
  OBJECT_FMTS+=	elf32
  .endif
  .if	${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH:M*64*} != ""
 @@ -694,6 +694,11 @@
  #
  MKDYNAMICROOT?=	yes
  
 +# For ia64, ld.elf_so not yet implemented
 +.if ${MACHINE_ARCH} == "ia64"
 +MKDYNAMICROOT=	no
 +.endif
 +
  #
  # Where the system object and source trees are kept; can be configurable
  # by the user in case they want them in ~/foosrc and ~/fooobj (for example).
 @@ -1117,6 +1122,11 @@
  MKKMOD=		no
  .endif
  
 +# Rump doesn't work yet on ia64
 +.if ${MACHINE} == "ia64"
 +MKRUMP=		no
 +.endif
 +
  #
  # MK* options which default to "no".  Note that MKZFS has a different
  # default for some platforms, see above.
 Index: sys/arch/ia64/conf/files.ia64
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/conf/files.ia64,v
 retrieving revision 1.7
 diff -b -u -r1.7 files.ia64
 --- sys/arch/ia64/conf/files.ia64	1 Oct 2011 15:59:27 -0000	1.7
 +++ sys/arch/ia64/conf/files.ia64	21 Jun 2016 16:58:14 -0000
 @@ -55,7 +55,7 @@
  #
  # System bus types
  #
 -device	mainbus: cpubus, acpibus
 +device	mainbus: cpubus, acpibus, pcibus
  attach	mainbus at root
  file	arch/ia64/ia64/mainbus.c	mainbus
  
 Index: sys/arch/ia64/ia64/support.S
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/ia64/support.S,v
 retrieving revision 1.6
 diff -b -u -r1.6 support.S
 --- sys/arch/ia64/ia64/support.S	8 Aug 2010 18:18:58 -0000	1.6
 +++ sys/arch/ia64/ia64/support.S	21 Jun 2016 16:58:16 -0000
 @@ -773,80 +773,6 @@
  END(copyoutstr)
  
  /*
 - * Not the fastest bcopy in the world.
 - */
 -ENTRY(bcopy, 3)
 -	mov	ret0=r0				// return zero for copy{in,out}
 -	;;
 -	cmp.le	p6,p0=in2,r0			// bail if len <= 0
 -(p6)	br.ret.spnt.few rp
 -
 -	sub	r14=in1,in0 ;;			// check for overlap
 -	cmp.ltu	p6,p0=r14,in2			// dst-src < len
 -(p6)	br.cond.spnt.few 5f
 -
 -	extr.u	r14=in0,0,3			// src & 7
 -	extr.u	r15=in1,0,3 ;;			// dst & 7
 -	cmp.eq	p6,p0=r14,r15			// different alignment?
 -(p6)	br.cond.spnt.few 2f			// branch if same alignment
 -
 -1:	ld1	r14=[in0],1 ;;			// copy bytewise
 -	st1	[in1]=r14,1
 -	add	in2=-1,in2 ;;			// len--
 -	cmp.ne	p6,p0=r0,in2
 -(p6)	br.cond.dptk.few 1b			// loop
 -	br.ret.sptk.few rp			// done
 -
 -2:	cmp.eq	p6,p0=r14,r0			// aligned?
 -(p6)	br.cond.sptk.few 4f
 -
 -3:	ld1	r14=[in0],1 ;;			// copy bytewise
 -	st1	[in1]=r14,1
 -	extr.u	r15=in0,0,3			// src & 7
 -	add	in2=-1,in2 ;;			// len--
 -	cmp.eq	p6,p0=r0,in2			// done?
 -	cmp.eq	p7,p0=r0,r15 ;;			// aligned now?
 -(p6)	br.ret.spnt.few rp			// return if done
 -(p7)	br.cond.spnt.few 4f			// go to main copy
 -	br.cond.sptk.few 3b			// more bytes to copy
 -
 -	// At this point, in2 is non-zero
 -
 -4:	mov	r14=8 ;;
 -	cmp.ltu	p6,p0=in2,r14 ;;		// len < 8?
 -(p6)	br.cond.spnt.few 1b			// byte copy the end
 -	ld8	r15=[in0],8 ;;			// copy word
 -	st8	[in1]=r15,8
 -	add	in2=-8,in2 ;;			// len -= 8
 -	cmp.ne	p6,p0=r0,in2			// done?
 -(p6)	br.cond.spnt.few 4b			// again
 -
 -	br.ret.sptk.few rp			// return
 -
 -	// Don't bother optimising overlap case
 -
 -5:	add	in0=in0,in2
 -	add	in1=in1,in2 ;;
 -	add	in0=-1,in0
 -	add	in1=-1,in1 ;;
 -
 -6:	ld1	r14=[in0],-1 ;;
 -	st1	[in1]=r14,-1
 -	add	in2=-1,in2 ;;
 -	cmp.ne	p6,p0=r0,in2
 -(p6)	br.cond.spnt.few 6b
 -
 -	br.ret.sptk.few rp
 -END(bcopy)
 -
 -ENTRY(memcpy,3)
 -	mov	r14=in0 ;;
 -	mov	in0=in1 ;;
 -	mov	in1=r14
 -	br.cond.sptk.few bcopy
 -END(memcpy)
 -
 -/*
   * int kcopy(const void *from, void *to, size_t len);
   * Copy len bytes, abort on fault.
   */
 Index: sys/arch/ia64/ia64/vm_machdep.c
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/ia64/vm_machdep.c,v
 retrieving revision 1.11
 diff -b -u -r1.11 vm_machdep.c
 --- sys/arch/ia64/ia64/vm_machdep.c	10 Feb 2011 14:46:46 -0000	1.11
 +++ sys/arch/ia64/ia64/vm_machdep.c	21 Jun 2016 16:58:19 -0000
 @@ -84,7 +84,7 @@
      void (*func)(void *), void *arg)
  {
  	struct pcb *pcb1, *pcb2;
 -	struct trapframe *tf;
 +	struct trapframe * volatile tf;
  
  	pcb1 = lwp_getpcb(l1);
  	pcb2 = lwp_getpcb(l2);
 Index: sys/arch/ia64/include/Makefile
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/include/Makefile,v
 retrieving revision 1.6
 diff -b -u -r1.6 Makefile
 --- sys/arch/ia64/include/Makefile	20 Jun 2014 12:41:34 -0000	1.6
 +++ sys/arch/ia64/include/Makefile	21 Jun 2016 16:58:21 -0000
 @@ -2,7 +2,7 @@
  
  INCSDIR= /usr/include/ia64
  
 -INCS=	_regset.h acpi_func.h acpi_machdep.h ansi.h \
 +INCS=	_regset.h acpi_machdep.h ansi.h \
  	aout_machdep.h asm.h atomic.h bootinfo.h bswap.h cdefs.h \
  	cpu.h cpufunc.h dig64.h disklabel.h efi.h \
  	elf_machdep.h endian.h endian_machdep.h float.h fpu.h frame.h \
 Index: sys/arch/ia64/include/mcontext.h
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/include/mcontext.h,v
 retrieving revision 1.3
 diff -b -u -r1.3 mcontext.h
 --- sys/arch/ia64/include/mcontext.h	26 Dec 2012 19:43:10 -0000	1.3
 +++ sys/arch/ia64/include/mcontext.h	21 Jun 2016 16:58:23 -0000
 @@ -1,32 +1,31 @@
 -/*	$NetBSD: mcontext.h,v 1.3 2012/12/26 19:43:10 martin Exp $	*/
 -
  /*-
 - * Copyright (c) 1999 The NetBSD Foundation, Inc.
 + * Copyright (c) 1999, 2003 Marcel Moolenaar
   * All rights reserved.
   *
 - * This code is derived from software contributed to The NetBSD Foundation
 - * by Klaus Klein.
 - *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   * 1. Redistributions of source code must retain the above copyright
 - *    notice, this list of conditions and the following disclaimer.
 + *    notice, this list of conditions and the following disclaimer 
 + *    in this position and unchanged.
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in the
   *    documentation and/or other materials provided with the distribution.
 + * 3. The name of the author may not be used to endorse or promote products
 + *    derived from this software without specific prior written permission.
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   *
 - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 - * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 - * POSSIBILITY OF SUCH DAMAGE.
 + * $FreeBSD: releng/10.1/sys/ia64/include/ucontext.h 177091 2008-03-12 10:12:01Z jeff $
   */
  
  #ifndef _IA64_MCONTEXT_H_
 @@ -34,6 +33,19 @@
  
  #include <machine/_regset.h>
  
 +/* XXX fix this, just get to compile for now */
 +#define _NGREG	128 
 +
 +#ifndef __ASSEMBLER__
 +typedef unsigned long __greg_t;
 +typedef __greg_t __gregset_t[_NGREG];
 +
 +typedef struct {
 +  union _ia64_fpreg __fpregs[_NGREG];
 +} __fpregset_t;
 +
 +#endif /* __ASSEMBLER__ */
 +
  /*
   * The mc_flags field provides the necessary clues when dealing with the gory
   * details of ia64 specific contexts. A comprehensive explanation is added for
 @@ -80,7 +92,6 @@
  	unsigned long		mc_flags;
  #define	_MC_FLAGS_ASYNC_CONTEXT		0x0001
  #define	_MC_FLAGS_HIGHFP_VALID		0x0002
 -#define	_MC_FLAGS_KSE_SET_MBOX		0x0004	/* Undocumented. Has to go. */
  #define	_MC_FLAGS_SYSCALL_CONTEXT	0x0008
  	unsigned long		_reserved_;
  	struct _special		mc_special;
 @@ -89,16 +100,29 @@
  	struct _caller_saved	mc_scratch;
  	struct _caller_saved_fp	mc_scratch_fp;
  	struct _high_fp		mc_high_fp;
 +
 +	/* XXX fix */
 +	__gregset_t		__gregs;
 +	__fpregset_t		__fpregs;
  } mcontext_t;
  
  #ifndef _UC_MACHINE_SP
  #define _UC_MACHINE_SP(uc)	((uc)->uc_mcontext.mc_special.sp)
  #endif
  
 +/* XXX this may be wrong but use just so can build distribution */
 +#ifndef _UC_MACHINE_PC
 +#define _UC_MACHINE_PC(uc)	((uc)->uc_mcontext.mc_special.iip)
 +#endif
 +
  static __inline void *
  __lwp_getprivate_fast(void)
  {
  	return (void*)0;
  }
  
 -#endif	/* !_IA64_MCONTEXT_H_ */
 +/* XXX hmmm
 + #define _UC_MACHINE_INTRV(uc)	((uc)->uc_mcontext._mc_special.isr)
 + */
 +
 +#endif /* !_IA64_UCONTEXT_H_ */
 Index: sys/arch/ia64/include/pci_machdep.h
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/include/pci_machdep.h,v
 retrieving revision 1.2
 diff -b -u -r1.2 pci_machdep.h
 --- sys/arch/ia64/include/pci_machdep.h	28 Jun 2010 12:14:08 -0000	1.2
 +++ sys/arch/ia64/include/pci_machdep.h	21 Jun 2016 16:58:27 -0000
 @@ -42,4 +42,13 @@
  pcireg_t pci_conf_read(pci_chipset_tag_t, pcitag_t, int);
  void pci_conf_write(pci_chipset_tag_t, pcitag_t, int, pcireg_t);
  
 +/*
 + * XXX should ia64_pci_enumerate_bus and
 + *  #define PCI_MACHDEP_ENUMERATE_BUS ia64_pci_enumerate_bus
 + * be used? acpi_pci appears to require pci_enumerate_bus though.
 + */
 +int pci_enumerate_bus(struct pci_softc *, const int *,
 +		      int (*)(const struct pci_attach_args *),
 +		      struct pci_attach_args *);
 +
  #endif
 Index: sys/arch/ia64/pci/pci_machdep.c
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/pci/pci_machdep.c,v
 retrieving revision 1.4
 diff -b -u -r1.4 pci_machdep.c
 --- sys/arch/ia64/pci/pci_machdep.c	2 Oct 2015 05:22:51 -0000	1.4
 +++ sys/arch/ia64/pci/pci_machdep.c	21 Jun 2016 16:58:29 -0000
 @@ -102,3 +102,13 @@
  	if (res.sal_status < 0)
  		printf("pci configuration write failed\n");
  }
 +
 +int
 +pci_enumerate_bus(struct pci_softc *sc, const int *locators,
 +		  int (*match)(const struct pci_attach_args *), struct pci_attach_args *pap)
 +{
 +	/* XXX implement */
 +	panic("ia64 pci_enumerate_bus not implemented");
 +
 +	return -1;
 +}
 Index: sys/arch/ia64/stand/Makefile
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/stand/Makefile,v
 retrieving revision 1.1
 diff -b -u -r1.1 Makefile
 --- sys/arch/ia64/stand/Makefile	7 Apr 2006 14:21:29 -0000	1.1
 +++ sys/arch/ia64/stand/Makefile	21 Jun 2016 16:58:32 -0000
 @@ -3,5 +3,3 @@
  SUBDIR=		ia64	
  
  .include <bsd.subdir.mk>
 -
 -
 Index: sys/arch/ia64/stand/ia64/efi/Makefile
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/ia64/stand/ia64/efi/Makefile,v
 retrieving revision 1.3
 diff -b -u -r1.3 Makefile
 --- sys/arch/ia64/stand/ia64/efi/Makefile	22 Jan 2011 19:19:19 -0000	1.3
 +++ sys/arch/ia64/stand/ia64/efi/Makefile	21 Jun 2016 16:58:34 -0000
 @@ -8,9 +8,6 @@
  
  MAN=#		Tell bsd.prog.mk that loader.sym is not a man page.
  
 -INTERNALPROG=
 -
 -
  SRCS=		start.S conf.c efimd.c vers.c main.c
  
  CPPFLAGS+=	-I${IA64_STAND_DIR}/efi/include
 @@ -25,18 +22,16 @@
  CPPFLAGS+= 	-DLIBKERN_OPTIMISE_SPACE \
  		-DHEAP_VARIABLE
  
 -
 -# Pick up FreeBSD glue
 -#CPPFLAGS+= -I${.CURDIR}/../../
 -
  # Always add MI sources
  .PATH: ${.CURDIR}/../../common
  .include "${.CURDIR}/../../common/Makefile.inc"
  
 -
 +# XXX hack to get loader.efi installed as part of distribution.
 +# would like to use something like
 +#    PROGS= loader.sym loader.efi
 +# but that causes much angst to get both to build properly
  FILES=		loader.efi
  
 -
  LDSCRIPT=	${.CURDIR}/ldscript.${MACHINE_ARCH}
  LDFLAGS=	-Wl,-T${LDSCRIPT} -shared -symbolic -nostdlib
  
 @@ -72,3 +67,4 @@
  LDADD=		${LIBEFI} ${LIBLIST} ${LIBEFI} ${LIBLIST}
  
  .include <bsd.prog.mk>
 +.include <bsd.files.mk>
 Index: sys/lib/libkern/arch/ia64/Makefile.inc
 ===================================================================
 RCS file: /cvsroot/src/sys/lib/libkern/arch/ia64/Makefile.inc,v
 retrieving revision 1.4
 diff -b -u -r1.4 Makefile.inc
 --- sys/lib/libkern/arch/ia64/Makefile.inc	14 Aug 2009 19:23:54 -0000	1.4
 +++ sys/lib/libkern/arch/ia64/Makefile.inc	21 Jun 2016 16:58:35 -0000
 @@ -1,8 +1,8 @@
 -#	$NetBSD: Makefile.inc,v 1.4 2009/08/14 19:23:54 dsl Exp $
 +#	$NetBSD$
  #
  
  SRCS+=	ffs.c
  
  SRCS+=	divdi3.S divsi3.S modsi3.S moddi3.S udivdi3.S udivsi3.S
  SRCS+=	umoddi3.S umodsi3.S bswap64.S bswap32.S bswap16.S ntohl.S htonl.S
 -SRCS+=	memcpy.S
 +SRCS+=	bcopy.S bzero.S ffs.S memcpy.S memmove.S
 Index: sys/modules/Makefile
 ===================================================================
 RCS file: /cvsroot/src/sys/modules/Makefile,v
 retrieving revision 1.167
 diff -b -u -r1.167 Makefile
 --- sys/modules/Makefile	9 Jun 2016 04:44:18 -0000	1.167
 +++ sys/modules/Makefile	21 Jun 2016 16:58:37 -0000
 @@ -132,12 +132,15 @@
  SUBDIR+=	exec_aout
  .endif
  
 -.if ${MACHINE_ARCH} != "alpha" && ${MACHINE_CPU} != "aarch64"
 +.if ${MACHINE_ARCH} != "alpha" && \
 +    ${MACHINE_CPU} != "aarch64" && \
 +    ${MACHINE_ARCH} != "ia64"
  SUBDIR+=	exec_elf32
  .endif
  
  .if ${MACHINE_CPU} == "aarch64" || \
      ${MACHINE_ARCH} == "alpha" || \
 +    ${MACHINE_ARCH} == "ia64" || \
      ${MACHINE_ARCH} == "sparc64" || \
      ${MACHINE_ARCH} == "x86_64"
  SUBDIR+=	exec_elf64
 Index: tests/lib/libc/arch/ia64/return_one.S
 ===================================================================
 RCS file: /cvsroot/src/tests/lib/libc/arch/ia64/return_one.S,v
 retrieving revision 1.1
 diff -b -u -r1.1 return_one.S
 --- tests/lib/libc/arch/ia64/return_one.S	18 Jul 2011 23:16:09 -0000	1.1
 +++ tests/lib/libc/arch/ia64/return_one.S	21 Jun 2016 16:58:39 -0000
 @@ -5,4 +5,4 @@
  .globl	return_one, return_one_end;
  
  return_one: return_one_end:
 -	nop
 +	nop 0
 Index: tests/lib/libc/sys/t_getrusage.c
 ===================================================================
 RCS file: /cvsroot/src/tests/lib/libc/sys/t_getrusage.c,v
 retrieving revision 1.3
 diff -b -u -r1.3 t_getrusage.c
 --- tests/lib/libc/sys/t_getrusage.c	3 Sep 2014 19:24:12 -0000	1.3
 +++ tests/lib/libc/sys/t_getrusage.c	21 Jun 2016 16:58:41 -0000
 @@ -60,6 +60,8 @@
  	while (n > 0) {
  #ifdef __or1k__
  		 asm volatile("l.nop");	/* Do something. */
 +#elif defined(__ia64__)
 +		 asm volatile("nop 0"); /* Do something. */
  #else
  		 asm volatile("nop");	/* Do something. */
  #endif
 


Home | Main Index | Thread Index | Old Index