gold: Local modification to add --relocatable synonym
authorJohn Marino <draco@marino.st>
Wed, 18 May 2011 05:23:38 +0000 (07:23 +0200)
committerJohn Marino <draco@marino.st>
Wed, 18 May 2011 05:59:49 +0000 (07:59 +0200)
Until a change to the binutils master branch two days ago, the gold linker
simply ignored the -i switch, which is considered to be a synonym of
the --relocatable (-r) switch by the ld linker.

This mainly affects makefiles that use gold directly rather than having it
invoked by gcc, and there was a case like this in the DragonFly base.
While the base was easily modified to use the -r switch, it was deemed a
good idea to apply this modification to the gold of binutils 2.21 in case
any pkgsrc software try to use the linker directly.

contrib/binutils-2.21/gold/options.h

index 7a694a9..595c438 100644 (file)
@@ -756,9 +756,6 @@ class General_options
   DEFINE_string(soname, options::ONE_DASH, 'h', NULL,
                 N_("Set shared library name"), N_("FILENAME"));
 
-  DEFINE_bool(i, options::EXACTLY_ONE_DASH, '\0', false,
-             N_("Ignored"), NULL);
-
   DEFINE_double(hash_bucket_empty_fraction, options::TWO_DASHES, '\0', 0.0,
                N_("Min fraction of empty buckets in dynamic hash"),
                N_("FRACTION"));
@@ -891,6 +888,8 @@ class General_options
 
   DEFINE_bool(relocatable, options::EXACTLY_ONE_DASH, 'r', false,
               N_("Generate relocatable output"), NULL);
+  DEFINE_bool_alias(i, relocatable, options::EXACTLY_ONE_DASH, '\0',
+                   N_("Synonym for -r"), NULL, false);
 
   DEFINE_bool(relax, options::TWO_DASHES, '\0', false,
              N_("Relax branches on certain targets"), NULL);