Package: gcc-3.2 Version: 3.2.2ds5 Severity: wishlist Tags: patch The following patches address two significant issues with NetBSD-on-Debian builds:
1) netbsd-gcc-config moves the NetBSD portion of src/gcc/gcc.config above the GNU (Hurd) portion, to prevent problems with misdetecting NetBSD as GNU (due to the triplet i386-unknown-netbsdelf-gnu matching the pattern *-*-gnu). I'm not sure what the best answer upstream is, but this solves it well enough to get by, and is crucial for working builds on NetBSD. 2) netbsd-dynlinker, which changes the default dynamic linker location from /usr/libexec/ld.elf_so to /lib/ld.elf_so; this makes it target the default location of the dynamic linker provided by the libc12 package (this was moved for FHS compliance, and links in /usr/libexec and /libexec are provided for compatibility, but should not be used by natively compiled Debian applications). This patch is NOT suitable for upstream, unless they want to figure out how to make it apply only to netbsd(elf|)-gnu systems and not netbsd(elf) systems. Included are both patches, and a patch to debian/rules.patch to invoke them. -- Joel Baker <[EMAIL PROTECTED]>
#! /bin/sh -e # JB: config.gcc patches for netbsd. dir= if [ $# -eq 3 -a "$2" = '-d' ]; then pdir="-d $3" dir="$3/" elif [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0 ;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 ;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 diff -ur src.orig/gcc/config.gcc src/gcc/config.gcc --- src.orig/gcc/config.gcc 2002-10-23 19:58:44.000000000 +0000 +++ src/gcc/config.gcc 2003-01-21 19:49:04.000000000 +0000 @@ -376,6 +376,12 @@ ;; esac ;; +*-*-netbsd*) + tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd" + xm_defines=POSIX + gas=yes + gnu_ld=yes + ;; *-*-gnu*) # On the Hurd, the setup is just about the same on # each different CPU. The specific machines that we @@ -406,12 +412,6 @@ tmake_file="${tmake_file} t-openbsd-thread" fi ;; -*-*-netbsd*) - tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd" - xm_defines=POSIX - gas=yes - gnu_ld=yes - ;; *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*) # This is the place-holder for the generic a.out configuration # of FreeBSD. No actual configuration resides here since
#! /bin/sh -e # JB: Dynamic linker patches for netbsd. dir= if [ $# -eq 3 -a "$2" = '-d' ]; then pdir="-d $3" dir="$3/" elif [ $# -ne 1 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0 ;; -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0 ;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 diff -ur src.orig/gcc/config/i386/netbsd-elf.h src/gcc/config/i386/netbsd-elf.h --- src.orig/gcc/config/i386/netbsd-elf.h 2002-03-01 23:38:15.000000000 +0000 +++ src/gcc/config/i386/netbsd-elf.h 2003-01-21 19:44:46.000000000 +0000 @@ -35,7 +35,7 @@ %{!e*:-e __start}}} \ %{!static: \ %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \ + %{!dynamic-linker:-dynamic-linker /lib/ld.elf_so}} \ %{static:-static}}" /* Names to predefine in the preprocessor for this target machine. */ diff -ur src.orig/gcc/config/netbsd-elf.h src/gcc/config/netbsd-elf.h --- src.orig/gcc/config/netbsd-elf.h 2002-01-22 04:23:02.000000000 +0000 +++ src/gcc/config/netbsd-elf.h 2003-01-21 19:44:27.000000000 +0000 @@ -72,5 +72,5 @@ %{!e*:-e __start}}} \ %{!static: \ %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \ + %{!dynamic-linker:-dynamic-linker /lib/ld.elf_so}} \ %{static:-static}}"
--- debian/rules.patch.orig 2003-01-22 20:59:26.000000000 +0000 +++ debian/rules.patch 2003-01-22 21:00:15.000000000 +0000 @@ -13,6 +13,7 @@ debian_patches = gcc-names gcc-version fastjar-doc \ libstdc++-incdir libstdc++-codecvt libstdc++-pic libstdc++-doclink + ifeq ($(with_java),yes) debian_patches += gcj-debian-policy gcj-names gcj-without-rpath \ gcj-manpage gij-classpath backport-java-6865 @@ -82,6 +83,10 @@ debian_patches += freebsd-gnu endif +ifeq ($(DEB_HOST_ARCH),netbsd-i386) + debian_patches += netbsd-dynlinker netbsd-gcc-config +endif + debian_patches += reporting # applied after gcc-cvs-updates patch: $(patch_stamp)
pgprhVEo2YQoy.pgp
Description: PGP signature