Index: ld/ldmain.c =================================================================== --- ld/ldmain.c.orig 2012-09-14 14:01:52.209165500 +0200 +++ ld/ldmain.c 2012-09-14 14:01:52.273165498 +0200 @@ -279,6 +279,7 @@ main (int argc, char **argv) link_info.combreloc = TRUE; link_info.strip_discarded = TRUE; link_info.emit_hash = TRUE; + link_info.emit_gnu_hash = TRUE; link_info.callbacks = &link_callbacks; link_info.input_bfds_tail = &link_info.input_bfds; /* SVR4 linkers seem to set DT_INIT and DT_FINI based on magic _init Index: ld/testsuite/config/default.exp =================================================================== --- ld/testsuite/config/default.exp.orig 2012-09-14 14:01:52.223165499 +0200 +++ ld/testsuite/config/default.exp 2012-09-14 14:01:52.273165498 +0200 @@ -23,7 +23,7 @@ # if ![info exists ld] then { - set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro" + set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro --hash-style=sysv" } if ![info exists as] then { @@ -69,7 +69,7 @@ if {![file isdirectory tmpdir/ld]} then catch "exec ln -s ../../ld-new tmpdir/ld/ld" status catch "exec ln -s ld tmpdir/ld/collect-ld" status } -set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro" +set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro -Wl,--hash-style=sysv" # load the linker path if {[file exists tmpdir/libpath.exp]} { @@ -279,7 +279,7 @@ if ![info exists READELFFLAGS] then { } if ![info exists LD] then { - set LD "[findfile $base_dir/ld-new ./ld-new [transform ld]] -znorelro" + set LD "[findfile $base_dir/ld-new ./ld-new [transform ld]] -znorelro --hash-style=sysv" } if ![info exists LDFLAGS] then {