diff -upk.orig binutils-2.17.50.0.3.orig/ld/ldmain.c binutils-2.17.50.0.3/ld/ldmain.c --- binutils-2.17.50.0.3.orig/ld/ldmain.c 2006-07-15 18:23:54 +0000 +++ binutils-2.17.50.0.3/ld/ldmain.c 2006-08-19 15:37:38 +0000 @@ -277,7 +277,7 @@ main (int argc, char **argv) link_info.export_dynamic = FALSE; link_info.static_link = FALSE; link_info.traditional_format = FALSE; - link_info.optimize = FALSE; + link_info.optimize = TRUE; link_info.unresolved_syms_in_objects = RM_NOT_YET_SET; link_info.unresolved_syms_in_shared_libs = RM_NOT_YET_SET; link_info.allow_multiple_definition = FALSE; @@ -316,7 +316,7 @@ main (int argc, char **argv) link_info.flags = 0; link_info.flags_1 = 0; link_info.relax_pass = 1; - link_info.warn_shared_textrel = FALSE; + link_info.warn_shared_textrel = TRUE; link_info.gc_sections = FALSE; config.maxpagesize = 0; diff -upk.orig binutils-2.17.50.0.3.orig/ld/lexsup.c binutils-2.17.50.0.3/ld/lexsup.c --- binutils-2.17.50.0.3.orig/ld/lexsup.c 2005-11-13 17:16:37 +0000 +++ binutils-2.17.50.0.3/ld/lexsup.c 2006-01-09 23:02:42 +0000 @@ -154,6 +154,7 @@ enum option_values OPTION_WARN_UNRESOLVED_SYMBOLS, OPTION_ERROR_UNRESOLVED_SYMBOLS, OPTION_WARN_SHARED_TEXTREL, + OPTION_NO_WARN_SHARED_TEXTREL, OPTION_REDUCE_MEMORY_OVERHEADS }; @@ -512,6 +513,9 @@ static const struct ld_option ld_options { {"warn-shared-textrel", no_argument, NULL, OPTION_WARN_SHARED_TEXTREL}, '\0', NULL, N_("Warn if shared object has DT_TEXTREL"), TWO_DASHES }, + { {"no-warn-shared-textrel", no_argument, NULL, OPTION_NO_WARN_SHARED_TEXTREL}, + '\0', NULL, N_("Do not warn if shared object has DT_TEXTREL"), + TWO_DASHES }, { {"warn-unresolved-symbols", no_argument, NULL, OPTION_WARN_UNRESOLVED_SYMBOLS}, '\0', NULL, N_("Report unresolved symbols as warnings"), TWO_DASHES }, @@ -1243,6 +1247,9 @@ parse_args (unsigned argc, char **argv) case OPTION_WARN_SHARED_TEXTREL: link_info.warn_shared_textrel = TRUE; break; + case OPTION_NO_WARN_SHARED_TEXTREL: + link_info.warn_shared_textrel = FALSE; + break; case OPTION_WHOLE_ARCHIVE: whole_archive = TRUE; break; diff -upk.orig binutils-2.17.50.0.3.orig/ld/testsuite/ld-elfvers/vers.exp binutils-2.17.50.0.3/ld/testsuite/ld-elfvers/vers.exp --- binutils-2.17.50.0.3.orig/ld/testsuite/ld-elfvers/vers.exp 2006-07-15 18:23:54 +0000 +++ binutils-2.17.50.0.3/ld/testsuite/ld-elfvers/vers.exp 2006-08-19 14:37:33 +0000 @@ -567,7 +567,7 @@ proc build_executable { test source libn proc build_vers_lib_no_pic { test source libname other mapfile verexp versymexp symexp } { global shared - build_binary $shared "" $test $source $libname $other $mapfile $verexp $versymexp $symexp "" + build_binary $shared "" $test $source $libname $other $mapfile $verexp $versymexp $symexp "--no-warn-shared-textrel" } proc build_vers_lib_pic { test source libname other mapfile verexp versymexp symexp } { diff -upk.orig binutils-2.17.50.0.3.orig/ld/testsuite/ld-i386/i386.exp binutils-2.17.50.0.3/ld/testsuite/ld-i386/i386.exp --- binutils-2.17.50.0.3.orig/ld/testsuite/ld-i386/i386.exp 2006-03-18 01:13:56 +0000 +++ binutils-2.17.50.0.3/ld/testsuite/ld-i386/i386.exp 2006-08-19 15:02:38 +0000 @@ -70,7 +70,7 @@ set i386tests { {{readelf -Ssrl tlspic.rd} {objdump -drj.text tlspic.dd} {objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}} "libtlspic.so"} - {"TLS descriptor -fpic -shared transitions" "-shared -melf_i386" + {"TLS descriptor -fpic -shared transitions" "-shared -melf_i386 -O 0" "--32" {tlsdesc.s tlspic2.s} {{readelf -Ssrl tlsdesc.rd} {objdump -drj.text tlsdesc.dd} {objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td}} @@ -87,7 +87,7 @@ set i386tests { {{readelf -Ssrl tlsbindesc.rd} {objdump -drj.text tlsbindesc.dd} {objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}} "tlsbindesc"} - {"TLS -fno-pic -shared" "-shared -melf_i386" + {"TLS -fno-pic -shared" "-shared -melf_i386 --no-warn-shared-textrel" "--32" {tlsnopic1.s tlsnopic2.s} {{readelf -Ssrl tlsnopic.rd} {objdump -drj.text tlsnopic.dd} {objdump -sj.got tlsnopic.sd}} "libtlsnopic.so"} @@ -100,7 +100,7 @@ set i386tests { {{objdump -sj.debug_foobar tlsg.sd}} "tlsg"} {"TLS @indntpoff with %eax" "-melf_i386" "--32" {tlsindntpoff.s} {{objdump -drj.text tlsindntpoff.dd}} "tlsindntpoff"} - {"Reloc section order" "-shared -melf_i386 -z nocombreloc" "--32" + {"Reloc section order" "-shared -melf_i386 -z nocombreloc --no-warn-shared-textrel" "--32" {reloc.s} {{objdump -hw reloc.d}} "reloc.so"} {"Basic --emit-relocs support" "-shared -melf_i386 --emit-relocs" "--32" {emit-relocs.s} {{readelf --relocs emit-relocs.d}} "emit-relocs.so"} diff -upk.orig binutils-2.17.50.0.3.orig/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.17.50.0.3/ld/testsuite/ld-x86-64/x86-64.exp --- binutils-2.17.50.0.3.orig/ld/testsuite/ld-x86-64/x86-64.exp 2006-02-14 02:10:17 +0300 +++ binutils-2.17.50.0.3/ld/testsuite/ld-x86-64/x86-64.exp 2006-08-21 17:24:04 +0400 @@ -39,7 +39,7 @@ set x86_64tests { {{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd} {objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}} "libtlspic.so"} - {"TLS descriptor -fpic -shared transitions" "-shared -melf_x86_64" + {"TLS descriptor -fpic -shared transitions" "-shared -melf_x86_64 -O 0" "--64" {tlsdesc.s tlspic2.s} {{readelf -WSsrld tlsdesc.rd} {objdump -drj.text tlsdesc.dd} {objdump "-s -j.got -j.got.plt" tlsdesc.sd} {objdump -sj.tdata tlsdesc.td} @@ -57,7 +57,7 @@ set x86_64tests { {objdump -sj.got tlsbindesc.sd} {objdump -sj.tdata tlsbindesc.td}} "tlsbindesc"} {"TLS with global dynamic and descriptors" - "-shared -melf_x86_64" "--64" {tlsgdesc.s} + "-shared -melf_x86_64 -O 0" "--64" {tlsgdesc.s} {{readelf -WSsrl tlsgdesc.rd} {objdump -drj.text tlsgdesc.dd}} "libtlsgdesc.so"} {"TLS in debug sections" "-melf_x86_64"