[patch committed] Fix a ld test failure on some SH targets

Kaz Kojima kkojima@rr.iij4u.or.jp
Thu Jan 17 16:08:00 GMT 2008


Hi,

I've applied the appended patch to fix a ld test failure:

FAIL: Weak symbols in dynamic objects 1 (main test)

on sh*-{linux,nbsd} targets.  These targets defined __data_start
without PROVIDE and got the warning

warning: type and size of dynamic symbol `__data_start' are not defined

with the above test.  It's tested on these targets with no new
failures.

Regards,
	kaz
--
2008-01-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
	with __data_start.
	* emulparams/shelf_nbsd.sh (DATA_START_SYMBOLS): Likewise.

diff -uprN ORIG/src/ld/emulparams/shelf_nbsd.sh LOCAL/src/ld/emulparams/shelf_nbsd.sh
--- ORIG/src/ld/emulparams/shelf_nbsd.sh	2006-05-31 01:45:32.000000000 +0900
+++ LOCAL/src/ld/emulparams/shelf_nbsd.sh	2008-01-14 10:00:31.000000000 +0900
@@ -7,7 +7,7 @@ OUTPUT_FORMAT="elf32-sh-nbsd"
 TEXT_START_ADDR=0x400000
 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
 
-DATA_START_SYMBOLS='__data_start = . ;';
+DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 
 ENTRY=_start
 
diff -uprN ORIG/src/ld/emulparams/shlelf_linux.sh LOCAL/src/ld/emulparams/shlelf_linux.sh
--- ORIG/src/ld/emulparams/shlelf_linux.sh	2006-05-31 01:45:32.000000000 +0900
+++ LOCAL/src/ld/emulparams/shlelf_linux.sh	2008-01-14 09:59:56.000000000 +0900
@@ -12,7 +12,7 @@ TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
 GENERATE_PIE_SCRIPT=yes
 
-DATA_START_SYMBOLS='__data_start = . ;';
+DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
 
 OTHER_READWRITE_SECTIONS="
   .note.ABI-tag ${RELOCATING-0} : { *(.note.ABI-tag) }"



More information about the Binutils mailing list