public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
@ 2011-03-08 18:14 John Marino
  2011-03-08 18:25 ` Mike Frysinger
  2011-03-08 18:54 ` Mike Frysinger
  0 siblings, 2 replies; 19+ messages in thread
From: John Marino @ 2011-03-08 18:14 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 435 bytes --]

Hi,
The following patches (one for binutils-2_21-branch and one for master) 
will fix support for DragonFly BSD that has long since been broken.

Although I would consider this a trivial patch, I have completed my 
binutils copyright assignment to the FSF.  My FSF ID is 658681.

I hope I am following proper protocol with this patch submission.  If 
not, I'm sure somebody will educate me quickly.  :)

Thanks in advance,
John Marino

[-- Attachment #2: binutils_221.patch --]
[-- Type: text/plain, Size: 11317 bytes --]

diff --git a/bfd/config.bfd b/bfd/config.bfd
index 2de94a4..fbf77ad 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -551,13 +551,17 @@ case "${targ}" in
     targ_defvec=i386bsd_vec
     targ_underscore=yes
     ;;
+  i[3-7]86-*-dragonfly*)
+    targ_defvec=bfd_elf32_i386_vec
+    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec"
+    ;;
   i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
   i[3-7]86-*-freebsd[12])
     targ_defvec=i386freebsd_vec
     targ_selvecs=i386bsd_vec
     targ_underscore=yes
     ;;
-  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
+  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
     targ_defvec=bfd_elf32_i386_freebsd_vec
     targ_selvecs="bfd_elf32_i386_vec i386pei_vec i386coff_vec"
     targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec"
@@ -617,6 +621,11 @@ case "${targ}" in
     targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec i386coff_vec"
     want64=true
     ;;
+  x86_64-*-dragonfly*)
+    targ_defvec=bfd_elf64_x86_64_vec
+    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec"
+    want64=true
+    ;;
   x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
     targ_defvec=bfd_elf64_x86_64_freebsd_vec
     targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec"
diff --git a/bfd/configure b/bfd/configure
index c8d48fd..301def9 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -15068,8 +15068,6 @@ do
     bfd_elf32_hppa_nbsd_vec)	tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_hppa_vec)		tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_i370_vec)		tb="$tb elf32-i370.lo elf32.lo $elf" ;;
-    bfd_elf32_i386_dragonfly_vec)
-				tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_sol2_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_freebsd_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_vxworks_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
diff --git a/bfd/configure.in b/bfd/configure.in
index d758a51..4076c6e 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -703,8 +703,6 @@ do
     bfd_elf32_hppa_nbsd_vec)	tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_hppa_vec)		tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_i370_vec)		tb="$tb elf32-i370.lo elf32.lo $elf" ;;
-    bfd_elf32_i386_dragonfly_vec)
-				tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_sol2_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_freebsd_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_vxworks_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
diff --git a/config.guess b/config.guess
index 115f944..d27d54b 100755
--- a/config.guess
+++ b/config.guess
@@ -798,6 +798,9 @@ EOF
 		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	esac
 	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+        exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
 	exit ;;
diff --git a/config.rpath b/config.rpath
index 9316b91..00ccde4 100755
--- a/config.rpath
+++ b/config.rpath
@@ -284,6 +284,10 @@ else
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
+    dragonfly*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
     freebsd1*)
       ld_shlibs=no
       ;;
diff --git a/config/tcl.m4 b/config/tcl.m4
index 900a2ce..ab81991 100644
--- a/config/tcl.m4
+++ b/config/tcl.m4
@@ -1540,6 +1540,17 @@ dnl AC_CHECK_TOOL(AR, ar)
 	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
 	    TCL_LIB_VERSIONS_OK=nodots
 	    ;;
+	DragonFly-*)
+	    SHLIB_CFLAGS="-fPIC"
+	    SHLIB_LD="ld -Bshareable -x"
+	    SHLIB_LD_LIBS='${LIBS}'
+	    SHLIB_SUFFIX=".so"
+	    DL_OBJS="tclLoadDl.o"
+	    DL_LIBS=""
+	    LDFLAGS="$LDFLAGS -export-dynamic"
+	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+	    ;;
 	FreeBSD-*)
 	    # FreeBSD 3.* and greater have ELF.
 	    SHLIB_CFLAGS="-fPIC"
diff --git a/configure b/configure
index 7212797..81c167a 100755
--- a/configure
+++ b/configure
@@ -2869,7 +2869,8 @@ case "${ENABLE_GOLD}" in
     case "${target}" in
       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
       | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
-      | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2* | *-*-nto*)
+      | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
+      | *-*-solaris2* | *-*-nto*)
         case "${target}" in
           *-*-linux*aout* | *-*-linux*oldld*)
             ;;
@@ -3035,7 +3036,7 @@ if test x$enable_libgomp = x ; then
     case "${target}" in
     *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
 	;;
-    *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
+    *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
 	;;
     *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
 	;;
@@ -3071,6 +3072,9 @@ case "${target}" in
     noconfigdirs="$noconfigdirs sim target-rda"
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
+  *-*-dragonfly*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    ;;
   *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
diff --git a/configure.ac b/configure.ac
index 19cf53f..22c0c73 100644
--- a/configure.ac
+++ b/configure.ac
@@ -351,7 +351,8 @@ case "${ENABLE_GOLD}" in
     case "${target}" in
       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
       | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
-      | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2* | *-*-nto*)
+      | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
+      | *-*-solaris2* | *-*-nto*)
         case "${target}" in
           *-*-linux*aout* | *-*-linux*oldld*)
             ;;
@@ -507,7 +508,7 @@ if test x$enable_libgomp = x ; then
     case "${target}" in
     *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
 	;;
-    *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
+    *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
 	;;
     *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
 	;;
@@ -543,6 +544,9 @@ case "${target}" in
     noconfigdirs="$noconfigdirs sim target-rda"
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
+  *-*-dragonfly*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    ;;
   *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
diff --git a/gas/configure.tgt b/gas/configure.tgt
index c05a64a..b9363a8 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -205,8 +205,8 @@ case ${generic_target} in
   i386-*-freebsdaout*)			fmt=aout em=386bsd ;;
   i386-*-freebsd[12].*)			fmt=aout em=386bsd ;;
   i386-*-freebsd[12])			fmt=aout em=386bsd ;;
-  i386-*-freebsd* | i386-*-kfreebsd*-gnu | i386-*-dragonfly*)
-					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 ;;
@@ -419,6 +419,7 @@ case ${generic_target} in
   z8k-*-coff | z8k-*-sim)		fmt=coff ;;
 
   *-*-aout | *-*-scout)			fmt=aout ;;
+  *-*-dragonfly*)			fmt=elf ;;
   *-*-freebsd* | *-*-kfreebsd*-gnu)	fmt=elf em=freebsd ;;
   *-*-bsd*)				fmt=aout em=sun3 ;;
   *-*-generic)				fmt=generic ;;
diff --git a/gold/configure.tgt b/gold/configure.tgt
index 0f3b1c3..523e74e 100644
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -54,7 +54,7 @@ i?86-*)
   targ_size=32
   targ_big_endian=false
   case "$targ" in
-  i?86-*-freebsd*)
+  i?86-*-freebsd* | i?86-*-dragonfly*)
     targ_osabi=ELFOSABI_FREEBSD
     ;;
   esac
@@ -67,7 +67,7 @@ x86_64*)
   targ_extra_size=32
   targ_big_endian=false
   case "$targ" in
-  x86_64-*-freebsd*)
+  x86_64-*-freebsd* | x86_64-*-dragonfly*)
     targ_osabi=ELFOSABI_FREEBSD
     ;;
   esac
diff --git a/ld/configure.host b/ld/configure.host
index f2dffe6..f47b961 100644
--- a/ld/configure.host
+++ b/ld/configure.host
@@ -18,7 +18,12 @@ HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ]; then libgcc=../gcc/libgcc.a; else libg
 
 case "${host}" in
 
-*-*-freebsd* | *-*-kfreebsd*-gnu | *-*-dragonfly*)
+*-*-dragonfly*)
+  HOSTING_CRT0='-dynamic-linker `[ -f \`${CC} --print-prog-name=ld-elf.so.2\` ] || echo /usr/libexec/``${CC} --print-prog-name=ld-elf.so.2` `${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`'
+  ;;
+
+*-*-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`'
   ;;
@@ -200,7 +205,10 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*)
   HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
   ;;
 
-*-*-freebsd* | *-*-kfreebsd*-gnu | *-*-dragonfly*)
+*-*-dragonfly*)
+  ;;
+
+*-*-freebsd* | *-*-kfreebsd*-gnu)
   ;;
 
 *-*-linux* | *-*-gnu*)
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 4e90739..90d7461 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -248,7 +248,11 @@ x86_64-*-elf*)		targ_emul=elf_x86_64
 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* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
+i[3-7]86-*-dragonfly*)	targ_emul=elf_i386
+			targ_extra_emuls="i386bsd" ;;
+x86_64-*-dragonfly*)	targ_emul=elf_x86_64
+			targ_extra_emuls="elf_i386 elf_l1om" ;;
+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* | x86_64-*-kfreebsd*-gnu)
@@ -666,7 +670,11 @@ esac
 NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib'
 case "${target}" in
 
-*-*-freebsd* | *-*-dragonfly*)
+*-*-dragonfly*)
+  NATIVE_LIB_DIRS='/usr/lib /usr/pkg/lib /usr/local/lib'
+  ;;
+
+*-*-freebsd*)
   NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib'
   ;;
 
@@ -706,9 +714,6 @@ i[03-9x]86-*-cygwin*)
 *-*-linux*)
   ;;
 
-*-*-freebsd* | *-*-dragonfly*)
-  ;;
-
 *-*-netbsd*)
   ;;
 

[-- Attachment #3: binutils-current.patch --]
[-- Type: text/plain, Size: 11361 bytes --]

diff --git a/bfd/config.bfd b/bfd/config.bfd
index 01fa09a..5e67d6b 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -551,13 +551,17 @@ case "${targ}" in
     targ_defvec=i386bsd_vec
     targ_underscore=yes
     ;;
+  i[3-7]86-*-dragonfly*)
+    targ_defvec=bfd_elf32_i386_vec
+    targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec"
+    ;;
   i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
   i[3-7]86-*-freebsd[12])
     targ_defvec=i386freebsd_vec
     targ_selvecs=i386bsd_vec
     targ_underscore=yes
     ;;
-  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
+  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
     targ_defvec=bfd_elf32_i386_freebsd_vec
     targ_selvecs="bfd_elf32_i386_vec i386pei_vec i386coff_vec"
     targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec"
@@ -617,6 +621,11 @@ case "${targ}" in
     targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec i386coff_vec"
     want64=true
     ;;
+  x86_64-*-dragonfly*)
+    targ_defvec=bfd_elf64_x86_64_vec
+    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec"
+    want64=true
+    ;;
   x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
     targ_defvec=bfd_elf64_x86_64_freebsd_vec
     targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec"
diff --git a/bfd/configure b/bfd/configure
index 63dd10d..d587593 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -15060,8 +15060,6 @@ do
     bfd_elf32_hppa_nbsd_vec)	tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_hppa_vec)		tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_i370_vec)		tb="$tb elf32-i370.lo elf32.lo $elf" ;;
-    bfd_elf32_i386_dragonfly_vec)
-				tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_sol2_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_freebsd_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_vxworks_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
diff --git a/bfd/configure.in b/bfd/configure.in
index 5908a57..eaba44c 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -703,8 +703,6 @@ do
     bfd_elf32_hppa_nbsd_vec)	tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_hppa_vec)		tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
     bfd_elf32_i370_vec)		tb="$tb elf32-i370.lo elf32.lo $elf" ;;
-    bfd_elf32_i386_dragonfly_vec)
-				tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_sol2_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_freebsd_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
     bfd_elf32_i386_vxworks_vec)	tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;;
diff --git a/config.guess b/config.guess
index 115f944..d27d54b 100755
--- a/config.guess
+++ b/config.guess
@@ -798,6 +798,9 @@ EOF
 		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	esac
 	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+        exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
 	exit ;;
diff --git a/config.rpath b/config.rpath
index 4dea759..d0cc6d9 100755
--- a/config.rpath
+++ b/config.rpath
@@ -284,6 +284,10 @@ else
     dgux*)
       hardcode_libdir_flag_spec='-L$libdir'
       ;;
+    dragonfly*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
     freebsd2.2*)
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
diff --git a/config/tcl.m4 b/config/tcl.m4
index 900a2ce..ab81991 100644
--- a/config/tcl.m4
+++ b/config/tcl.m4
@@ -1540,6 +1540,17 @@ dnl AC_CHECK_TOOL(AR, ar)
 	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'
 	    TCL_LIB_VERSIONS_OK=nodots
 	    ;;
+	DragonFly-*)
+	    SHLIB_CFLAGS="-fPIC"
+	    SHLIB_LD="ld -Bshareable -x"
+	    SHLIB_LD_LIBS='${LIBS}'
+	    SHLIB_SUFFIX=".so"
+	    DL_OBJS="tclLoadDl.o"
+	    DL_LIBS=""
+	    LDFLAGS="$LDFLAGS -export-dynamic"
+	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+	    ;;
 	FreeBSD-*)
 	    # FreeBSD 3.* and greater have ELF.
 	    SHLIB_CFLAGS="-fPIC"
diff --git a/configure b/configure
index 5e97d0f..aa7356b 100755
--- a/configure
+++ b/configure
@@ -2896,7 +2896,8 @@ case "${ENABLE_GOLD}" in
     case "${target}" in
       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
       | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
-      | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2* | *-*-nto*)
+      | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
+      | *-*-solaris2* | *-*-nto*)
         case "${target}" in
           *-*-linux*aout* | *-*-linux*oldld*)
             ;;
@@ -3091,7 +3092,7 @@ if test x$enable_libgomp = x ; then
     case "${target}" in
     *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
 	;;
-    *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
+    *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
 	;;
     *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
 	;;
@@ -3127,6 +3128,9 @@ case "${target}" in
     noconfigdirs="$noconfigdirs sim target-rda"
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
+  *-*-dragonfly*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    ;;
   *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
diff --git a/configure.ac b/configure.ac
index 233ce0a..eb7e15f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -355,7 +355,8 @@ case "${ENABLE_GOLD}" in
     case "${target}" in
       *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
       | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
-      | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-solaris2* | *-*-nto*)
+      | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
+      | *-*-solaris2* | *-*-nto*)
         case "${target}" in
           *-*-linux*aout* | *-*-linux*oldld*)
             ;;
@@ -537,7 +538,7 @@ if test x$enable_libgomp = x ; then
     case "${target}" in
     *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
 	;;
-    *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
+    *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
 	;;
     *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
 	;;
@@ -573,6 +574,9 @@ case "${target}" in
     noconfigdirs="$noconfigdirs sim target-rda"
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
+  *-*-dragonfly*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    ;;
   *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
diff --git a/gas/configure.tgt b/gas/configure.tgt
index 8ce9003..be28916 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -205,8 +205,8 @@ case ${generic_target} in
   i386-*-freebsdaout*)			fmt=aout em=386bsd ;;
   i386-*-freebsd[12].*)			fmt=aout em=386bsd ;;
   i386-*-freebsd[12])			fmt=aout em=386bsd ;;
-  i386-*-freebsd* | i386-*-kfreebsd*-gnu | i386-*-dragonfly*)
-					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 ;;
@@ -421,6 +421,7 @@ case ${generic_target} in
   z8k-*-coff | z8k-*-sim)		fmt=coff ;;
 
   *-*-aout | *-*-scout)			fmt=aout ;;
+  *-*-dragonfly*)			fmt=elf ;;
   *-*-freebsd* | *-*-kfreebsd*-gnu)	fmt=elf em=freebsd ;;
   *-*-bsd*)				fmt=aout em=sun3 ;;
   *-*-generic)				fmt=generic ;;
diff --git a/gold/configure.tgt b/gold/configure.tgt
index 0f3b1c3..523e74e 100644
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -54,7 +54,7 @@ i?86-*)
   targ_size=32
   targ_big_endian=false
   case "$targ" in
-  i?86-*-freebsd*)
+  i?86-*-freebsd* | i?86-*-dragonfly*)
     targ_osabi=ELFOSABI_FREEBSD
     ;;
   esac
@@ -67,7 +67,7 @@ x86_64*)
   targ_extra_size=32
   targ_big_endian=false
   case "$targ" in
-  x86_64-*-freebsd*)
+  x86_64-*-freebsd* | x86_64-*-dragonfly*)
     targ_osabi=ELFOSABI_FREEBSD
     ;;
   esac
diff --git a/ld/configure.host b/ld/configure.host
index f2dffe6..f47b961 100644
--- a/ld/configure.host
+++ b/ld/configure.host
@@ -18,7 +18,12 @@ HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ]; then libgcc=../gcc/libgcc.a; else libg
 
 case "${host}" in
 
-*-*-freebsd* | *-*-kfreebsd*-gnu | *-*-dragonfly*)
+*-*-dragonfly*)
+  HOSTING_CRT0='-dynamic-linker `[ -f \`${CC} --print-prog-name=ld-elf.so.2\` ] || echo /usr/libexec/``${CC} --print-prog-name=ld-elf.so.2` `${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`'
+  ;;
+
+*-*-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`'
   ;;
@@ -200,7 +205,10 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*)
   HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
   ;;
 
-*-*-freebsd* | *-*-kfreebsd*-gnu | *-*-dragonfly*)
+*-*-dragonfly*)
+  ;;
+
+*-*-freebsd* | *-*-kfreebsd*-gnu)
   ;;
 
 *-*-linux* | *-*-gnu*)
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 4025837..7394f23 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -249,7 +249,11 @@ x86_64-*-elf*)		targ_emul=elf_x86_64
 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* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
+i[3-7]86-*-dragonfly*)	targ_emul=elf_i386
+			targ_extra_emuls="i386bsd" ;;
+x86_64-*-dragonfly*)	targ_emul=elf_x86_64
+			targ_extra_emuls="elf_i386 elf_l1om" ;;
+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* | x86_64-*-kfreebsd*-gnu)
@@ -683,7 +687,11 @@ esac
 NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib'
 case "${target}" in
 
-*-*-freebsd* | *-*-dragonfly*)
+*-*-dragonfly*)
+  NATIVE_LIB_DIRS='/usr/lib /usr/pkg/lib /usr/local/lib'
+  ;;
+
+*-*-freebsd*)
   NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib'
   ;;
 
@@ -723,9 +731,6 @@ i[03-9x]86-*-cygwin*)
 *-*-linux*)
   ;;
 
-*-*-freebsd* | *-*-dragonfly*)
-  ;;
-
 *-*-netbsd*)
   ;;
 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 18:14 PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk John Marino
@ 2011-03-08 18:25 ` Mike Frysinger
  2011-03-08 18:42   ` John Marino
  2011-03-08 18:54 ` Mike Frysinger
  1 sibling, 1 reply; 19+ messages in thread
From: Mike Frysinger @ 2011-03-08 18:25 UTC (permalink / raw)
  To: John Marino; +Cc: binutils

On Tue, Mar 8, 2011 at 1:12 PM, John Marino wrote:
> The following patches (one for binutils-2_21-branch and one for master) will
> fix support for DragonFly BSD that has long since been broken.
>
> Although I would consider this a trivial patch, I have completed my binutils
> copyright assignment to the FSF.  My FSF ID is 658681.
>
> I hope I am following proper protocol with this patch submission.  If not,
> I'm sure somebody will educate me quickly.  :)

i just see changelog entries missing
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 18:25 ` Mike Frysinger
@ 2011-03-08 18:42   ` John Marino
  2011-03-08 19:11     ` Mike Frysinger
  0 siblings, 1 reply; 19+ messages in thread
From: John Marino @ 2011-03-08 18:42 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: binutils

[-- Attachment #1: Type: text/plain, Size: 1124 bytes --]

Mike Frysinger wrote:
> On Tue, Mar 8, 2011 at 1:12 PM, John Marino wrote:
>> The following patches (one for binutils-2_21-branch and one for master) will
>> fix support for DragonFly BSD that has long since been broken.
>>
>> Although I would consider this a trivial patch, I have completed my binutils
>> copyright assignment to the FSF.  My FSF ID is 658681.
>>
>> I hope I am following proper protocol with this patch submission.  If not,
>> I'm sure somebody will educate me quickly.  :)
> 
> i just see changelog entries missing
> -mike


Hi Mike,
Heh, you're right.  I'm new at this.
I've attached a text file that I think is suitable for commit messages 
to both branches to be patched.

Within the composite patch files, I patched configure and bfd/configure. 
  These two patches probably need to be removed and configure, 
bfd/configure regenerated as indicated in my change log.  My setup 
wouldn't allow me to do it.

Conversely I imagine the regenerated configure and bfd/configure would 
be identical to my patched version, so you alternatively you can replace 
"Regenerate." with "Likewise.".

Regards,
John

[-- Attachment #2: 2011_03_08_changelog_entry.txt --]
[-- Type: text/plain, Size: 425 bytes --]

2011-03-08  John Marino  <binutils@marino.st>

	* configure.ac: Update support for *-*-dragonfly*
	* config.guess: Likewise.
	* config.rpath: Likewise.
	* bfd/configure.in: Likewise.
	* bfd/config.bfd: Likewise.
	* config/tcl.m4: Likewise.
	* gas/configure.tgt: Likewise.
	* gold/configure.tgt: Likewise.
	* ld/configure.host: Likewise.
	* ld/configure.tgt: Likewise.

	* configure: Regenerate.
	* bfd/configure: Regenerate.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 18:14 PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk John Marino
  2011-03-08 18:25 ` Mike Frysinger
@ 2011-03-08 18:54 ` Mike Frysinger
  2011-03-08 18:58   ` John Marino
  2011-03-08 19:30   ` John Marino
  1 sibling, 2 replies; 19+ messages in thread
From: Mike Frysinger @ 2011-03-08 18:54 UTC (permalink / raw)
  To: John Marino; +Cc: binutils

On Tue, Mar 8, 2011 at 1:12 PM, John Marino wrote:
> --- a/config.guess
> +++ b/config.guess

changes to this have to go through the config project:
    http://savannah.gnu.org/projects/config

> --- a/config.rpath
> +++ b/config.rpath

i believe changes to this have to go through gettext project

> --- a/config/tcl.m4
> +++ b/config/tcl.m4

the tcl code is mostly imported from the tcl project, so changes here
should be pushed to them as well:
  http://www.tcl.tk/
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 18:54 ` Mike Frysinger
@ 2011-03-08 18:58   ` John Marino
  2011-03-08 19:09     ` Mike Frysinger
  2011-03-08 19:30   ` John Marino
  1 sibling, 1 reply; 19+ messages in thread
From: John Marino @ 2011-03-08 18:58 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: binutils

Mike Frysinger wrote:
> On Tue, Mar 8, 2011 at 1:12 PM, John Marino wrote:
>> --- a/config.guess
>> +++ b/config.guess
> 
> changes to this have to go through the config project:
>     http://savannah.gnu.org/projects/config
> 
>> --- a/config.rpath
>> +++ b/config.rpath
> 
> i believe changes to this have to go through gettext project
> 
>> --- a/config/tcl.m4
>> +++ b/config/tcl.m4
> 
> the tcl code is mostly imported from the tcl project, so changes here
> should be pushed to them as well:
>   http://www.tcl.tk/
> -mike

Okay.
Would you mind trimming those three out of the composite patches and 
I'll address each one separately with their authoritative organization?

Assuming I'm successfully at getting them changed at config/gettext etc, 
when do the updates show up?  I assume when a release is made?

John

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 18:58   ` John Marino
@ 2011-03-08 19:09     ` Mike Frysinger
  0 siblings, 0 replies; 19+ messages in thread
From: Mike Frysinger @ 2011-03-08 19:09 UTC (permalink / raw)
  To: John Marino; +Cc: binutils

On Tue, Mar 8, 2011 at 1:56 PM, John Marino wrote:
> Would you mind trimming those three out of the composite patches and I'll
> address each one separately with their authoritative organization?

i'm just a lurker here, not a global maintainer.  so i dont apply
patches for people ;).

> Assuming I'm successfully at getting them changed at config/gettext etc,
> when do the updates show up?  I assume when a release is made?

once the respective upstream projects have taken the changes, i dont
think there's an issue manually syncing them back.  you dont need to
wait for an official release from the project in question (especially
sine the config project doesnt make releases).

i'm sure someone like Nick can clarify/correct me.
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 18:42   ` John Marino
@ 2011-03-08 19:11     ` Mike Frysinger
  0 siblings, 0 replies; 19+ messages in thread
From: Mike Frysinger @ 2011-03-08 19:11 UTC (permalink / raw)
  To: John Marino; +Cc: binutils

On Tue, Mar 8, 2011 at 1:39 PM, John Marino wrote:
> Conversely I imagine the regenerated configure and bfd/configure would be
> identical to my patched version, so you alternatively you can replace
> "Regenerate." with "Likewise.".

saying "Regenerate" is fine

> 2011-03-08  John Marino  <binutils@marino.st>
>
>        * configure.ac: Update support for *-*-dragonfly*
>        * config.guess: Likewise.
>        * config.rpath: Likewise.
>        * bfd/configure.in: Likewise.
>        * bfd/config.bfd: Likewise.
>        * config/tcl.m4: Likewise.
>        * gas/configure.tgt: Likewise.
>        * gold/configure.tgt: Likewise.
>        * ld/configure.host: Likewise.
>        * ld/configure.tgt: Likewise.
>
>        * configure: Regenerate.
>        * bfd/configure: Regenerate.

each subdir gets its own changelog.  so you'll want to split it up like so:

/:
2011-03-08  John Marino  <binutils@marino.st>

    * configure.ac: Update support for *-*-dragonfly*.
    * config.guess: Likewise.
    * config.rpath: Likewise.
    * configure: Regenerate.

bfd/:
2011-03-08  John Marino  <binutils@marino.st>

    * configure.in: Update support for *-*-dragonfly*.
    * config.bfd: Likewise.

gas/:
2011-03-08  John Marino  <binutils@marino.st>

    * configure.tgt: Update support for *-*-dragonfly*.

etc...
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 18:54 ` Mike Frysinger
  2011-03-08 18:58   ` John Marino
@ 2011-03-08 19:30   ` John Marino
  2011-03-08 19:39     ` MFL Commissioner
  2011-03-08 19:51     ` Mike Frysinger
  1 sibling, 2 replies; 19+ messages in thread
From: John Marino @ 2011-03-08 19:30 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: binutils

Mike Frysinger wrote:
> 
>> --- a/config.rpath
>> +++ b/config.rpath
> 
> i believe changes to this have to go through gettext project
> 
> -mike

I didn't see anything in gettext, but maybe the project gnulib is the 
master version?

If so, then binutils is not synced with it because 1) dragonfly is in 
that gnulib version and 2) freebsd 1 was removed from there and it's 
still present in binutils.

So I guess this file isn't brought in in an automated fashion.  It's a 
manual sync?  Maybe it's time it was synced...

Thanks,
John

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 19:30   ` John Marino
@ 2011-03-08 19:39     ` MFL Commissioner
  2011-03-08 19:43       ` Ralf Wildenhues
  2011-03-08 19:51     ` Mike Frysinger
  1 sibling, 1 reply; 19+ messages in thread
From: MFL Commissioner @ 2011-03-08 19:39 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: binutils

John Marino wrote:
> Mike Frysinger wrote:
>>
>>> --- a/config.rpath
>>> +++ b/config.rpath
>>
>> i believe changes to this have to go through gettext project
>>
>> -mike
> 
> I didn't see anything in gettext, but maybe the project gnulib is the 
> master version?
> 
> If so, then binutils is not synced with it because 1) dragonfly is in 
> that gnulib version and 2) freebsd 1 was removed from there and it's 
> still present in binutils.
> 
> So I guess this file isn't brought in in an automated fashion.  It's a 
> manual sync?  Maybe it's time it was synced...
> 
> Thanks,
> John


For that matter, 
http://git.savannah.gnu.org/cgit/config.git/tree/config.guess
proves that dragonfly is already in there as well.

I'm a little confused about this.  It appears binutils/config.guess is 
getting updated independently (iow not tracking the master version).

Is that how things are supposed to work?  Seems strange to me.
John


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 19:39     ` MFL Commissioner
@ 2011-03-08 19:43       ` Ralf Wildenhues
  2011-03-08 19:50         ` John Marino
  0 siblings, 1 reply; 19+ messages in thread
From: Ralf Wildenhues @ 2011-03-08 19:43 UTC (permalink / raw)
  To: MFL Commissioner; +Cc: Mike Frysinger, binutils

Hello,

* MFL Commissioner wrote on Tue, Mar 08, 2011 at 08:35:26PM CET:
> I'm a little confused about this.  It appears binutils/config.guess
> is getting updated independently (iow not tracking the master
> version).

I think I just forgot to copy the whole file over last time, and instead
only synced the latest change, thinking that the files would be
identical otherwise.

I'm fine with updating the file from the gnulib master copy, but please
in sync with GCC, and let's give em the (hopefully very short) time now
to branch, so this doesn't interfere.

Thanks,
Ralf

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 19:43       ` Ralf Wildenhues
@ 2011-03-08 19:50         ` John Marino
  2011-03-08 20:01           ` Ralf Wildenhues
  2011-03-08 20:10           ` Mike Frysinger
  0 siblings, 2 replies; 19+ messages in thread
From: John Marino @ 2011-03-08 19:50 UTC (permalink / raw)
  To: Ralf Wildenhues; +Cc: Mike Frysinger, binutils

Ralf Wildenhues wrote:
> Hello,
> 
> * MFL Commissioner wrote on Tue, Mar 08, 2011 at 08:35:26PM CET:
>> I'm a little confused about this.  It appears binutils/config.guess
>> is getting updated independently (iow not tracking the master
>> version).
> 
> I think I just forgot to copy the whole file over last time, and instead
> only synced the latest change, thinking that the files would be
> identical otherwise.
> 
> I'm fine with updating the file from the gnulib master copy, but please
> in sync with GCC, and let's give em the (hopefully very short) time now
> to branch, so this doesn't interfere.
> 
> Thanks,
> Ralf

Hi Ralf,
I didn't quite follow that.
Did you say you want to wait until gcc trunk branches to 4.6 before 
updating config.guess on both gcc and binutils simultaneously?

Wouldn't people want the very latest config.guess in place before 
branching?  I'm primarily concerned with getting binutils 2.51 fixed 
before it's next release (I saw it went into beta today?)

John

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 19:30   ` John Marino
  2011-03-08 19:39     ` MFL Commissioner
@ 2011-03-08 19:51     ` Mike Frysinger
  1 sibling, 0 replies; 19+ messages in thread
From: Mike Frysinger @ 2011-03-08 19:51 UTC (permalink / raw)
  To: John Marino; +Cc: binutils

On Tue, Mar 8, 2011 at 2:27 PM, John Marino wrote:
> Mike Frysinger wrote:
>>> --- a/config.rpath
>>> +++ b/config.rpath
>>
>> i believe changes to this have to go through gettext project
>
> I didn't see anything in gettext, but maybe the project gnulib is the master
> version?

perhaps they have merged more stuff out of gettext and into gnulib
since i last looked.  there has been work on killing of copies and
single sourcing these things.

> If so, then binutils is not synced with it because 1) dragonfly is in that
> gnulib version and 2) freebsd 1 was removed from there and it's still
> present in binutils.
>
> So I guess this file isn't brought in in an automated fashion.  It's a
> manual sync?  Maybe it's time it was synced...

it is always a manual sync with these things and is done largely when
someone notices/cares.  looks like you noticed and care ;).
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 19:50         ` John Marino
@ 2011-03-08 20:01           ` Ralf Wildenhues
  2011-03-08 20:09             ` John Marino
  2011-03-08 20:10           ` Mike Frysinger
  1 sibling, 1 reply; 19+ messages in thread
From: Ralf Wildenhues @ 2011-03-08 20:01 UTC (permalink / raw)
  To: John Marino; +Cc: Mike Frysinger, binutils

* John Marino wrote on Tue, Mar 08, 2011 at 08:45:56PM CET:
> Ralf Wildenhues wrote:
> >I'm fine with updating the file from the gnulib master copy, but please
> >in sync with GCC, and let's give em the (hopefully very short) time now
> >to branch, so this doesn't interfere.

> I didn't quite follow that.
> Did you say you want to wait until gcc trunk branches to 4.6 before
> updating config.guess on both gcc and binutils simultaneously?

Right.

> Wouldn't people want the very latest config.guess in place before
> branching?

A month ago: for sure.  A week ago: maybe.  Now?  Ask a release manager
if they want a change that doesn't fix an apparent regression, right
now, where they're about to branch RSN.  I'm sure right after the branch
will be a good time for trunk, and after the release will be a good time
for the gcc-4_6 branch.

> I'm primarily concerned with getting binutils 2.51 fixed
> before it's next release (I saw it went into beta today?)

Well if binutils schedule conflicts, I guess it it better to break sync
between GCC and src temporarily.  Other than that, at least for GCC I'd
consider it a bit of a stretch to try to start supporting some operating
system in the middle of a regression fixes development stage.

Cheers,
Ralf

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 20:01           ` Ralf Wildenhues
@ 2011-03-08 20:09             ` John Marino
  2011-03-08 20:16               ` Ralf Wildenhues
  2011-03-08 20:16               ` Mike Frysinger
  0 siblings, 2 replies; 19+ messages in thread
From: John Marino @ 2011-03-08 20:09 UTC (permalink / raw)
  To: Ralf Wildenhues; +Cc: Mike Frysinger, binutils

Ralf Wildenhues wrote:
> * John Marino wrote on Tue, Mar 08, 2011 at 08:45:56PM CET:
>> Ralf Wildenhues wrote:
>>> I'm fine with updating the file from the gnulib master copy, but please
>>> in sync with GCC, and let's give em the (hopefully very short) time now
>>> to branch, so this doesn't interfere.
> 
>> I didn't quite follow that.
>> Did you say you want to wait until gcc trunk branches to 4.6 before
>> updating config.guess on both gcc and binutils simultaneously?
> 
> Right.
> 
>> Wouldn't people want the very latest config.guess in place before
>> branching?
> 
> A month ago: for sure.  A week ago: maybe.  Now?  Ask a release manager
> if they want a change that doesn't fix an apparent regression, right
> now, where they're about to branch RSN.  I'm sure right after the branch
> will be a good time for trunk, and after the release will be a good time
> for the gcc-4_6 branch.
> 
>> I'm primarily concerned with getting binutils 2.51 fixed
>> before it's next release (I saw it went into beta today?)
> 
> Well if binutils schedule conflicts, I guess it it better to break sync
> between GCC and src temporarily.  Other than that, at least for GCC I'd
> consider it a bit of a stretch to try to start supporting some operating
> system in the middle of a regression fixes development stage.
> 
> Cheers,
> Ralf

As I matter of fact, I have over 50 patches that I can push back to gcc 
when the branching happens (I already have the copyright assignment). 
One day gcc will support that OS from source tree, but it's not going to 
be with gcc 4.6.0.  I wasn't looking for that either.

It's probably obvious that I didn't see the connection between gcc and 
binutils versions of config.guess.  I don't see a problem if binutils 
supports more systems that gcc.  Are you saying that you keep 
binutils/config.guess and gcc/config.guess in sync with each other?

I don't really see it as a break, simply gcc has a subset of the 
binutils systems (if it were updated independently).  Probably I'm being 
naive though.

JOhn





^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 19:50         ` John Marino
  2011-03-08 20:01           ` Ralf Wildenhues
@ 2011-03-08 20:10           ` Mike Frysinger
  2011-03-08 20:15             ` John Marino
  1 sibling, 1 reply; 19+ messages in thread
From: Mike Frysinger @ 2011-03-08 20:10 UTC (permalink / raw)
  To: John Marino; +Cc: Ralf Wildenhues, binutils

On Tue, Mar 8, 2011 at 2:45 PM, John Marino wrote:
> Wouldn't people want the very latest config.guess in place before branching?
>  I'm primarily concerned with getting binutils 2.51 fixed before it's next
> release (I saw it went into beta today?)

eh ?  there is no binutils-2.51.  i'm guessing you're talking about
hjlu's binutils 2.xx.51.xx "releases".  he doesnt do actual
"releases", he simply does snapshots of the latest cvs head and adds
his own set of patches on top of it.  there is no "alpha" or "beta" or
anything else with his releases.  they also have no impact on the
release process of the gnu binutils (which are versioned x.y or
x.y.z).
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 20:10           ` Mike Frysinger
@ 2011-03-08 20:15             ` John Marino
  2011-03-08 20:21               ` Mike Frysinger
  0 siblings, 1 reply; 19+ messages in thread
From: John Marino @ 2011-03-08 20:15 UTC (permalink / raw)
  To: Mike Frysinger; +Cc: Ralf Wildenhues, binutils

Mike Frysinger wrote:
> On Tue, Mar 8, 2011 at 2:45 PM, John Marino wrote:
>> Wouldn't people want the very latest config.guess in place before branching?
>>  I'm primarily concerned with getting binutils 2.51 fixed before it's next
>> release (I saw it went into beta today?)
> 
> eh ?  there is no binutils-2.51.  i'm guessing you're talking about
> hjlu's binutils 2.xx.51.xx "releases".  he doesnt do actual
> "releases", he simply does snapshots of the latest cvs head and adds
> his own set of patches on top of it.  there is no "alpha" or "beta" or
> anything else with his releases.  they also have no impact on the
> release process of the gnu binutils (which are versioned x.y or
> x.y.z).
> -mike

Yes, I meant 2.21.51.
This is the version number that I see from the source tree I pulled. (I 
think it's in one of the config.h files after the build)
I don't think it's hjlu's branch or anything.

Will there be future releases of 2.21?
If not, I won't bother to submit patches for it.

Thanks for clearing that up.
John

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 20:09             ` John Marino
@ 2011-03-08 20:16               ` Ralf Wildenhues
  2011-03-08 20:16               ` Mike Frysinger
  1 sibling, 0 replies; 19+ messages in thread
From: Ralf Wildenhues @ 2011-03-08 20:16 UTC (permalink / raw)
  To: John Marino; +Cc: Mike Frysinger, binutils

* John Marino wrote on Tue, Mar 08, 2011 at 09:08:22PM CET:
> Are you saying that you
> keep binutils/config.guess and gcc/config.guess in sync with each
> other?

Yes.  See the MAINTAINERS file in the toplevel directory of the src
tree, and http://gcc.gnu.org/codingconventions.html#upstream for GCC.

Cheers,
Ralf

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 20:09             ` John Marino
  2011-03-08 20:16               ` Ralf Wildenhues
@ 2011-03-08 20:16               ` Mike Frysinger
  1 sibling, 0 replies; 19+ messages in thread
From: Mike Frysinger @ 2011-03-08 20:16 UTC (permalink / raw)
  To: John Marino; +Cc: Ralf Wildenhues, binutils

On Tue, Mar 8, 2011 at 3:08 PM, John Marino wrote:
> It's probably obvious that I didn't see the connection between gcc and
> binutils versions of config.guess.  I don't see a problem if binutils
> supports more systems that gcc.  Are you saying that you keep
> binutils/config.guess and gcc/config.guess in sync with each other?

the source tree is maintained such that you can drop subdirs into each
other.  all the top level files are kept in sync (gcc is the master
while sourceware.org is the slave), as are any subdirs which both the
gcc tree and the sourceware.org cvs have (like libdecnumber).  so we
get people to commit to gcc first, and then manually sync the
sourceware.org cvs tree.
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk
  2011-03-08 20:15             ` John Marino
@ 2011-03-08 20:21               ` Mike Frysinger
  0 siblings, 0 replies; 19+ messages in thread
From: Mike Frysinger @ 2011-03-08 20:21 UTC (permalink / raw)
  To: John Marino; +Cc: Ralf Wildenhues, binutils

On Tue, Mar 8, 2011 at 3:13 PM, John Marino wrote:
> Will there be future releases of 2.21?

i think current release process is to do at least 1 major release a
year, and any updates from the branch as deemed needed.

so there probably will be a 2.21.1 since 2.21 was released in Dec
2010.  and 2.22 will probably be like 6+ months from now.

but again, i'm not the release maintainer, so these are just my
observations.  other people will certainly be more authoritative.
-mike

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2011-03-08 20:21 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-08 18:14 PATCH: Fix support for DragonFly BSD on binutils 2.21 and trunk John Marino
2011-03-08 18:25 ` Mike Frysinger
2011-03-08 18:42   ` John Marino
2011-03-08 19:11     ` Mike Frysinger
2011-03-08 18:54 ` Mike Frysinger
2011-03-08 18:58   ` John Marino
2011-03-08 19:09     ` Mike Frysinger
2011-03-08 19:30   ` John Marino
2011-03-08 19:39     ` MFL Commissioner
2011-03-08 19:43       ` Ralf Wildenhues
2011-03-08 19:50         ` John Marino
2011-03-08 20:01           ` Ralf Wildenhues
2011-03-08 20:09             ` John Marino
2011-03-08 20:16               ` Ralf Wildenhues
2011-03-08 20:16               ` Mike Frysinger
2011-03-08 20:10           ` Mike Frysinger
2011-03-08 20:15             ` John Marino
2011-03-08 20:21               ` Mike Frysinger
2011-03-08 19:51     ` Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).