summaryrefslogtreecommitdiffstats
path: root/main/binutils/hash-style-gnu.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2015-05-28 16:58:17 +0300
committerTimo Teräs <timo.teras@iki.fi>2015-05-28 16:58:17 +0300
commitecd6d7d10fc37382bbdd89138199f88429797c7f (patch)
tree316f00ba5879df9465d3925ad415a509c8c322de /main/binutils/hash-style-gnu.patch
parenta04b8ceb2cb031d99b8dbe4224fee967a84a2057 (diff)
downloadaports-ecd6d7d10fc37382bbdd89138199f88429797c7f.tar.bz2
aports-ecd6d7d10fc37382bbdd89138199f88429797c7f.tar.xz
main/binutils: default to 'gnu' hash style
Diffstat (limited to 'main/binutils/hash-style-gnu.patch')
-rw-r--r--main/binutils/hash-style-gnu.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/main/binutils/hash-style-gnu.patch b/main/binutils/hash-style-gnu.patch
new file mode 100644
index 000000000..2e6c01972
--- /dev/null
+++ b/main/binutils/hash-style-gnu.patch
@@ -0,0 +1,31 @@
+# DP: Default to --hash-style=gnu in ld.bfd and ld.gold.
+
+--- a/ld/ldmain.c
++++ b/ld/ldmain.c
+@@ -287,6 +288,15 @@
+ emulation = get_emulation (argc, argv);
+ ldemul_choose_mode (emulation);
+ default_target = ldemul_choose_target (argc, argv);
++
++ /* Default to --hash-style=gnu */
++ if (strcmp (default_target, "elf32-tradbigmips") != 0
++ && strcmp (default_target, "elf32-tradlittlemips") != 0)
++ {
++ link_info.emit_gnu_hash = TRUE;
++ link_info.emit_hash = FALSE;
++ }
++
+ config.maxpagesize = bfd_emul_get_maxpagesize (default_target);
+ config.commonpagesize = bfd_emul_get_commonpagesize (default_target);
+ lang_init ();
+--- a/gold/options.h
++++ b/gold/options.h
+@@ -794,7 +794,7 @@
+ N_("Min fraction of empty buckets in dynamic hash"),
+ N_("FRACTION"));
+
+- DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "sysv",
++ DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "gnu",
+ N_("Dynamic hash style"), N_("[sysv,gnu,both]"),
+ {"sysv", "gnu", "both"});
+