[Glibc-bsd-commits] r2050 - in trunk/kfreebsd-6/debian: . patches

ps-guest at alioth.debian.org ps-guest at alioth.debian.org
Fri Nov 30 17:42:35 UTC 2007


Author: ps-guest
Date: 2007-11-30 17:42:35 +0000 (Fri, 30 Nov 2007)
New Revision: 2050

Added:
   trunk/kfreebsd-6/debian/gen-ld-u-options
   trunk/kfreebsd-6/debian/patches/020_linker.diff
Removed:
   trunk/kfreebsd-6/debian/patches/020_kmod.diff
Modified:
   trunk/kfreebsd-6/debian/changelog
   trunk/kfreebsd-6/debian/patches/series
   trunk/kfreebsd-6/debian/rules
Log:
* Changed building rules to be correctly buildable with current binutils
    - add 020_linker.diff and gen-ld-u-options  
                                              



Modified: trunk/kfreebsd-6/debian/changelog
===================================================================
--- trunk/kfreebsd-6/debian/changelog	2007-11-30 08:46:23 UTC (rev 2049)
+++ trunk/kfreebsd-6/debian/changelog	2007-11-30 17:42:35 UTC (rev 2050)
@@ -1,12 +1,12 @@
-kfreebsd-6 (6.3~cvs200711xx-1) UNRELEASED; urgency=low
+kfreebsd-6 (6.3~cvs200712xx-1) UNRELEASED; urgency=low
 
-  * BEWARE - kernel modules are not built correctly with current binutils !!!
-
   [ Petr Salinger ]
-  * New upstream snapshot (RELENG_6)
+  * New upstream snapshot (RELENG_6_3)
     - refresh of some patches
     - add 913_uudecode.diff
   * Backport packaging changes from kfreebsd-7
+  * Changed building rules to be correctly buildable with current binutils
+    - add 020_linker.diff and gen-ld-u-options
 
   [ Aurelien Jarno ]
   * arch/i386/586.config and arch/i386/586-smp.config: also support i686 CPU. 

Added: trunk/kfreebsd-6/debian/gen-ld-u-options
===================================================================
--- trunk/kfreebsd-6/debian/gen-ld-u-options	                        (rev 0)
+++ trunk/kfreebsd-6/debian/gen-ld-u-options	2007-11-30 17:42:35 UTC (rev 2050)
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for i in `objdump -h -w $1 | grep set_ | cut -c5- | cut -f1 -d " "`
+do
+	echo -n " -u __start_$i -u __stop_$i "
+done

Deleted: trunk/kfreebsd-6/debian/patches/020_kmod.diff
===================================================================
--- trunk/kfreebsd-6/debian/patches/020_kmod.diff	2007-11-30 08:46:23 UTC (rev 2049)
+++ trunk/kfreebsd-6/debian/patches/020_kmod.diff	2007-11-30 17:42:35 UTC (rev 2050)
@@ -1,13 +0,0 @@
-* see http://sourceware.org/bugzilla/show_bug.cgi?id=5391
-
---- src/sys/conf/kmod.mk~	2007-11-21 23:29:02.000000000 +0100
-+++ src/sys/conf/kmod.mk	2007-11-21 23:29:02.000000000 +0100
-@@ -179,7 +179,7 @@
- 
- .if ${MACHINE_ARCH} != amd64
- ${FULLPROG}: ${KMOD}.kld
--	${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld
-+	${LD} -Bshareable -u __start_set_modmetadata_set -u __stop_set_modmetadata_set ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld
- .if !defined(DEBUG_FLAGS)
- 	${OBJCOPY} --strip-debug ${.TARGET}
- .endif

Added: trunk/kfreebsd-6/debian/patches/020_linker.diff
===================================================================
--- trunk/kfreebsd-6/debian/patches/020_linker.diff	                        (rev 0)
+++ trunk/kfreebsd-6/debian/patches/020_linker.diff	2007-11-30 17:42:35 UTC (rev 2050)
@@ -0,0 +1,33 @@
+
+  current ld provides magic symbols with names like __start_* and __stop_*
+  only if they are referenced, FreeBSD kernel needs them,
+  for details see http://sourceware.org/bugzilla/show_bug.cgi?id=5391
+
+
+diff -u sys/conf/kern.post.mk sys/conf/kern.post.mk
+--- sys/conf/kern.post.mk
++++ sys/conf/kern.post.mk
+@@ -82,7 +92,9 @@
+ ${FULLKERNEL}: ${SYSTEM_DEP} vers.o
+ 	@rm -f ${.TARGET}
+ 	@echo linking ${.TARGET}
+-	${SYSTEM_LD}
++	${SYSTEM_LD} -o ${.TARGET}.tmp
++	gen-ld-u-options ${.TARGET}.tmp > ${.TARGET}.lopt
++	${SYSTEM_LD} "@${.TARGET}.lopt"
+ .if !defined(DEBUG)
+ 	${OBJCOPY} --strip-debug ${.TARGET}
+ .endif
+diff -u sys/conf/kmod.mk sys/conf/kmod.mk
+--- sys/conf/kmod.mk
++++ sys/conf/kmod.mk
+@@ -179,7 +179,8 @@
+ 
+ .if ${MACHINE_ARCH} != amd64
+ ${FULLPROG}: ${KMOD}.kld
+-	${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld
++	gen-ld-u-options ${KMOD}.kld > ${KMOD}.lopt
++	${LD} -Bshareable ${LDFLAGS} -o ${.TARGET} ${KMOD}.kld "@${KMOD}.lopt"
+ .if !defined(DEBUG_FLAGS)
+ 	${OBJCOPY} --strip-debug ${.TARGET}
+ .endif

Modified: trunk/kfreebsd-6/debian/patches/series
===================================================================
--- trunk/kfreebsd-6/debian/patches/series	2007-11-30 08:46:23 UTC (rev 2049)
+++ trunk/kfreebsd-6/debian/patches/series	2007-11-30 17:42:35 UTC (rev 2050)
@@ -9,7 +9,7 @@
 010_ET_DYN.diff -p0
 013_ip_packed.diff -p0
 017_oss_compat.diff -p0
-#020_kmod.diff -p0 			does not fix it
+020_linker.diff -p0
 902_version.diff -p0
 903_disable_non-free_drivers.diff -p0
 904_dev_full.diff -p0

Modified: trunk/kfreebsd-6/debian/rules
===================================================================
--- trunk/kfreebsd-6/debian/rules	2007-11-30 08:46:23 UTC (rev 2049)
+++ trunk/kfreebsd-6/debian/rules	2007-11-30 17:42:35 UTC (rev 2050)
@@ -105,6 +105,7 @@
 
 config: src
 	cp -af src/usr.sbin/config config
+	install debian/gen-ld-u-options config
 	$(MAKE) -C config
 
 build-arch: $(foreach flavor,$(flavours),build-flavor-$(flavor)-stamp)




More information about the Glibc-bsd-commits mailing list