[Glibc-bsd-devel] Re: [Glibc-bsd-hackers] [PATCH] fixes for kfreebsd-gnu triplet (revised)

Robert Millan zeratul2@wanadoo.es
Sat, 30 Aug 2003 17:23:31 +0000


--u3/rZRmxL6MmkK24
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline



Oh wait I didn't attach it? well here is it.

On Sat, Aug 30, 2003 at 05:15:20PM +0000, Robert Millan wrote:
> 
> Hi there,
> 
> Well, after some time playing with it (with invaluable Ian Lance Taylor's help)
> I've put binutils to work on GNU/KFreeBSD.
> 
> The patch attached includes fixes for the triplet change to "kfreebsd-gnu".
> It's almost like the last patch I sent but without the last two hunks, which
> came out to be wrong causing ld to fail checking for "ld.so.1".
> 
> The other problem with checking for "ld.so.1" is in Glibc, I have verified
> it by using ld with a properly built /lib/ld.so.1 and it works ok.
> 
> Please apply the attached patch for CVS. My ChangeLog entries are both in the
> patch header and below:
> 
> for ChangeLog:
> 
> 2003-08-30  Robert Millan  <robertmh@gnu.org>
> 
> 	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
> 
> for bfd/ChangeLog:
> 
> 2003-08-30  Robert Millan  <robertmh@gnu.org>
> 
> 	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
> 	* config.bfd: Likewise.
> 
> for gas/ChangeLog:
> 
> 2003-08-30  Robert Millan  <robertmh@gnu.org>
> 
> 	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
> 	* testsuite/gas/alpha/alpha.exp: Likewise.
> 
> for ld/ChangeLog:
> 
> 2003-08-30  Robert Millan  <robertmh@gnu.org>
> 
> 	* configure.host: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
> 	* configure.tgt: Likewise.
> 
> -- 
> Robert Millan
> 
> "[..] but the delight and pride of Aule is in the deed of making, and in the
> thing made, and neither in possession nor in his own mastery; wherefore he
> gives and hoards not, and is free from care, passing ever on to some new work."
> 
>  -- J.R.R.T, Ainulindale (Silmarillion)
> 
> 
> _______________________________________________
> Glibc-bsd-hackers mailing list
> Glibc-bsd-hackers@nongnu.org
> http://mail.nongnu.org/mailman/listinfo/glibc-bsd-hackers

-- 
Robert Millan

"[..] but the delight and pride of Aule is in the deed of making, and in the
thing made, and neither in possession nor in his own mastery; wherefore he
gives and hoards not, and is free from care, passing ever on to some new work."

 -- J.R.R.T, Ainulindale (Silmarillion)

--u3/rZRmxL6MmkK24
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="kfreebsd-gnu.diff"


for ChangeLog:

2003-08-30  Robert Millan  <robertmh@gnu.org>

	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.

for bfd/ChangeLog:

2003-08-30  Robert Millan  <robertmh@gnu.org>

	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
	* config.bfd: Likewise.

for gas/ChangeLog:

2003-08-30  Robert Millan  <robertmh@gnu.org>

	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
	* testsuite/gas/alpha/alpha.exp: Likewise.

for ld/ChangeLog:

2003-08-30  Robert Millan  <robertmh@gnu.org>

	* configure.host: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
	* configure.tgt: Likewise.

diff -Nur binutils.old/bfd/config.bfd binutils/bfd/config.bfd
--- binutils.old/bfd/config.bfd	2003-08-01 10:35:04.000000000 +0200
+++ binutils/bfd/config.bfd	2003-08-30 19:14:43.000000000 +0200
@@ -100,7 +100,7 @@
 
 # START OF targmatch.h
 #ifdef BFD64
-  alpha*-*-freebsd*)
+  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
     targ_defvec=bfd_elf64_alpha_freebsd_vec
     targ_selvecs=ecoffalpha_little_vec
     # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
@@ -131,7 +131,7 @@
   alpha*-*-*)
     targ_defvec=ecoffalpha_little_vec
     ;;
-  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf*)
+  ia64*-*-freebsd* | ia64*-*-kfreebsd*-gnu | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf*)
     targ_defvec=bfd_elf64_ia64_little_vec
     targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
     ;;
@@ -139,7 +139,7 @@
     targ_defvec=bfd_elf32_ia64_hpux_big_vec
     targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
     ;;
-  sparc64-*-freebsd* | sparc64-*-netbsd* | sparc64-*-openbsd*)
+  sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparc64-*-netbsd* | sparc64-*-openbsd*)
     targ_defvec=bfd_elf64_sparc_vec
     targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
     ;;
@@ -222,7 +222,7 @@
     targ_defvec=bfd_elf32_littlearm_vec
     targ_selvecs=bfd_elf32_bigarm_vec
     ;;
-  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | arm*-*-uclinux*)
+  arm-*-elf | arm-*-freebsd* | arm-*-kfreebsd*-gnu | arm*-*-linux-gnu* | arm*-*-conix* | arm*-*-uclinux*)
     targ_defvec=bfd_elf32_littlearm_vec
     targ_selvecs=bfd_elf32_bigarm_vec
     ;;
@@ -452,7 +452,7 @@
     targ_selvecs=i386bsd_vec
     targ_underscore=yes
     ;;
-  i[3-7]86-*-freebsd*)
+  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
     targ_defvec=bfd_elf32_i386_freebsd_vec
     targ_selvecs=i386coff_vec
     # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
@@ -494,7 +494,7 @@
     targ64_selvecs=bfd_elf64_x86_64_vec
     ;;
 #ifdef BFD64
-  x86_64-*-freebsd*)
+  x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
     targ_defvec=bfd_elf64_x86_64_vec
     targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec"
     ;;
diff -Nur binutils.old/bfd/configure.in binutils/bfd/configure.in
--- binutils.old/bfd/configure.in	2003-08-27 19:57:33.000000000 +0200
+++ binutils/bfd/configure.in	2003-08-30 19:14:43.000000000 +0200
@@ -164,7 +164,7 @@
 TRAD_HEADER=
 if test "${target}" = "${host}"; then
   case "${host}" in
-  alpha*-*-freebsd*)
+  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
 	COREFILE=''
 	;;
   alpha*-*-linux-gnu*)
@@ -175,7 +175,7 @@
 	COREFILE=netbsd-core.lo
 	;;
   alpha*-*-*)		COREFILE=osf-core.lo ;;
-  arm-*-freebsd*)	COREFILE='' ;;
+  arm-*-freebsd* | arm-*-kfreebsd*-gnu)	COREFILE='' ;;
   arm-*-netbsd*)	COREFILE=netbsd-core.lo ;;
   arm-*-riscix)		COREFILE=trad-core.lo ;;
   hppa*-*-hpux*)	COREFILE=hpux-core.lo ;;
@@ -213,7 +213,7 @@
 	TRAD_HEADER='"hosts/i386bsd.h"'
 	;;
 changequote(,)dnl
-  i[3-7]86-*-freebsd*)
+  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
 changequote([,])dnl
 	COREFILE=''
 	TRAD_HEADER='"hosts/i386bsd.h"'
@@ -361,7 +361,7 @@
   powerpc-*-aix4*)	COREFILE=rs6000-core.lo ;;
   powerpc-*-aix*)	COREFILE=rs6000-core.lo ;;
   powerpc-*-beos*)	;;
-  powerpc-*-freebsd*)	COREFILE='' ;;
+  powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)	COREFILE='' ;;
   powerpc-*-netbsd*)	COREFILE=netbsd-core.lo ;;
   powerpc-*-*bsd*)	COREFILE=netbsd-core.lo ;;
   s390*-*-*)            COREFILE=trad-core.lo ;;
diff -Nur binutils.old/configure.in binutils/configure.in
--- binutils.old/configure.in	2003-08-27 23:17:54.000000000 +0200
+++ binutils/configure.in	2003-08-30 19:14:43.000000000 +0200
@@ -391,7 +391,7 @@
     # newlib is not 64 bit ready
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
-  alpha*-*-freebsd*)
+  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
   alpha*-*-*)
@@ -512,7 +512,7 @@
   i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  i[[3456789]]86-*-freebsd*)
+  i[[3456789]]86-*-freebsd* | i[[3456789]]86-*-kfreebsd*-gnu)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
   i[[3456789]]86-*-linux*)
diff -Nur binutils.old/gas/configure.in binutils/gas/configure.in
--- binutils.old/gas/configure.in	2003-07-10 06:44:55.000000000 +0200
+++ binutils/gas/configure.in	2003-08-30 19:14:43.000000000 +0200
@@ -278,7 +278,7 @@
       i386-*-freebsd[12].*)		fmt=aout em=386bsd ;;
       i386-*-freebsd[12])		fmt=aout em=386bsd ;;
 changequote([,])dnl
-      i386-*-freebsd*)			fmt=elf em=freebsd ;;
+      i386-*-freebsd* | i386-*-kfreebsd*-gnu)			fmt=elf em=freebsd ;;
       i386-*-sysv*)			fmt=coff ;;
       i386-*-sco3.2v5*coff)		fmt=coff ;;
       i386-*-isc*)			fmt=coff ;;
@@ -497,7 +497,7 @@
       z8k-*-coff | z8k-*-sim)		fmt=coff ;;
 
       *-*-aout | *-*-scout)		fmt=aout ;;
-      *-*-freebsd*)			fmt=elf em=freebsd ;;
+      *-*-freebsd* | *-*-kfreebsd*-gnu)			fmt=elf em=freebsd ;;
       *-*-nindy*)			fmt=bout ;;
       *-*-bsd*)				fmt=aout em=sun3 ;;
       *-*-generic)			fmt=generic ;;
diff -Nur binutils.old/gas/testsuite/gas/alpha/alpha.exp binutils/gas/testsuite/gas/alpha/alpha.exp
--- binutils.old/gas/testsuite/gas/alpha/alpha.exp	2003-06-05 05:27:03.000000000 +0200
+++ binutils/gas/testsuite/gas/alpha/alpha.exp	2003-08-30 19:14:43.000000000 +0200
@@ -20,6 +20,7 @@
     set elf [expr [istarget *-*-elf*] \
 		  || [istarget *-*-linux*] \
 		  || [istarget *-*-freebsd*] \
+		  || [istarget *-*-kfreebsd*-gnu] \
 		  || [istarget *-*-netbsd*] ]
 
     if $elf {
diff -Nur binutils.old/ld/configure.host binutils/ld/configure.host
--- binutils.old/ld/configure.host	2003-07-10 06:45:16.000000000 +0200
+++ binutils/ld/configure.host	2003-08-30 19:14:43.000000000 +0200
@@ -18,7 +18,7 @@
 
 case "${host}" in
 
-*-*-freebsd*)
+*-*-freebsd* | *-*-kfreebsd*-gnu)
   HOSTING_CRT0='-dynamic-linker `[ -f \`${CC} --print-prog-name=ld-elf.so.1\` ] || echo /usr/libexec/``${CC} --print-prog-name=ld-elf.so.1` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `${CC} --print-file-name=crtbegin.o`'
   HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
   ;;
@@ -237,7 +237,7 @@
   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"`
   ;;
 
-*-*-freebsd*)
+*-*-freebsd* | *-*-kfreebsd*-gnu)
   ;;
 
 *-*-linux*)
diff -Nur binutils.old/ld/configure.tgt binutils/ld/configure.tgt
--- binutils.old/ld/configure.tgt	2003-08-08 12:14:51.000000000 +0200
+++ binutils/ld/configure.tgt	2003-08-30 19:15:24.000000000 +0200
@@ -48,7 +48,7 @@
 sparc*-*-coff)		targ_emul=coff_sparc ;;
 sparc*-*-elf)		targ_emul=elf32_sparc ;;
 sparc*-*-sysv4*)	targ_emul=elf32_sparc ;;
-sparc64-*-freebsd* | sparcv9-*-freebsd*)
+sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-freebsd* | sparcv9-*-kfreebsd*-gnu)
 			targ_emul=elf64_sparc_fbsd
 			targ_extra_emuls="elf64_sparc elf32_sparc"
 			targ_extra_libpath=$targ_extra_emuls
@@ -109,7 +109,7 @@
 i960-*-rtems*)		targ_emul=gld960coff ;;
 i960-*-elf*)		targ_emul=elf32_i960 ;;
 ia64-*-elf*)		targ_emul=elf64_ia64 ;;
-ia64-*-freebsd*)	targ_emul=elf64_ia64_fbsd
+ia64-*-freebsd* | ia64-*-kfreebsd*-gnu)	targ_emul=elf64_ia64_fbsd
 			targ_extra_emuls="elf64_ia64" ;;
 ia64-*-netbsd*)		targ_emul=elf64_ia64 ;;
 ia64-*-linux*)		targ_emul=elf64_ia64 ;;
@@ -196,9 +196,9 @@
 i[3-7]86-*-kaos*)	targ_emul=elf_i386 ;;
 i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12])
 			targ_emul=i386bsd ;;
-i[3-7]86-*-freebsd*)	targ_emul=elf_i386_fbsd
+i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)	targ_emul=elf_i386_fbsd
 			targ_extra_emuls="elf_i386 i386bsd" ;;
-x86_64-*-freebsd*)	targ_emul=elf_x86_64_fbsd
+x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)	targ_emul=elf_x86_64_fbsd
 			targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386"
 			tdir_elf_i386=`echo ${targ_alias} \
 			    | sed -e 's/x86_64/i386/'`
@@ -233,7 +233,7 @@
 armeb-*-aout)		targ_emul=armaoutb ;;
 arm-*-coff)		targ_emul=armcoff ;;
 arm-*-vxworks)		targ_emul=armcoff ;;
-arm-*-freebsd*)		targ_emul=armelf_fbsd
+arm-*-freebsd* | arm-*-kfreebsd*-gnu)		targ_emul=armelf_fbsd
 			targ_extra_emuls="armelf" ;;
 armeb-*-netbsdelf*)	targ_emul=armelfb_nbsd;
 			targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
@@ -437,7 +437,7 @@
 mn10300-*-*)		targ_emul=mn10300 ;;
 msp430-*-*)             targ_emul=msp430x110
                         targ_extra_emuls="msp430x112 msp430x1101 msp430x1111 msp430x1121 msp430x1122 msp430x1132 msp430x122 msp430x123 msp430x1222 msp430x1232 msp430x133 msp430x135 msp430x1331 msp430x1351 msp430x147 msp430x148 msp430x149 msp430x155 msp430x156 msp430x157 msp430x167 msp430x168 msp430x169 msp430x311 msp430x312 msp430x313 msp430x314 msp430x315 msp430x323 msp430x325 msp430x336 msp430x337 msp430x412 msp430x413 msp430xE423 msp430xE425 msp430xE427 msp430xW423 msp430xW425 msp430xW427 msp430x435 msp430x436 msp430x437 msp430x447 msp430x448 msp430x449" ;;
-alpha*-*-freebsd*)	targ_emul=elf64alpha_fbsd
+alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)	targ_emul=elf64alpha_fbsd
 			targ_extra_emuls="elf64alpha alpha"
 			tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'`
 			;;
@@ -462,7 +462,7 @@
 pdp11-*-*)		targ_emul=pdp11 ;;
 pjl*-*-*)	        targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;;
 pj*-*-*)	        targ_emul=pjelf ;;
-powerpc-*-freebsd*)	targ_emul=elf32ppc_fbsd;
+powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)	targ_emul=elf32ppc_fbsd;
 			targ_extra_emuls="elf32ppc elf32ppcsim";
 			targ_extra_libpath=elf32ppc;
 			tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'`

--u3/rZRmxL6MmkK24--