This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix PE ports confusing -c command line switch with --compact-implib

Hi Guys,

  I am applying the patch below to fix a problem with PE targeted
  ports.  They confuse the -c command line switch (to select MRI script
  parsing) with the --compact-implib command line switch, due to a
  "feature" of the getopt package.

  The solution is to have the --compact-implib switch present twice in
  the list of the available switches, so that getopt() thinks that the
  switch cannot be abbreviated.  With this patch applied the PE ports
  pass the ld-scripts/MRI test.


2002-12-17  Nick Clifton  <>

	* emultempl/pe.em (longopts): Duplicate entry for --compact-implib
	so that it is not confused with -c.

Index: ld/emultempl/pe.em
RCS file: /cvs/src/src/ld/emultempl/pe.em,v
retrieving revision 1.71
diff -c -3 -p -w -r1.71 pe.em
*** ld/emultempl/pe.em	16 Dec 2002 18:02:16 -0000	1.71
--- ld/emultempl/pe.em	17 Dec 2002 09:58:25 -0000
*************** static struct option longopts[] = {
*** 260,265 ****
--- 260,268 ----
    {"disable-stdcall-fixup", no_argument, NULL, OPTION_DISABLE_STDCALL_FIXUP},
    {"out-implib", required_argument, NULL, OPTION_IMPLIB_FILENAME},
    {"warn-duplicate-exports", no_argument, NULL, OPTION_WARN_DUPLICATE_EXPORTS},
+   /* getopt() allows abbreviations, so we do this to stop it from
+      treating -c as an abbreviation for these --compat-implib.  */
+   {"compat-implib", no_argument, NULL, OPTION_IMP_COMPAT},
    {"compat-implib", no_argument, NULL, OPTION_IMP_COMPAT},
    {"enable-auto-image-base", no_argument, NULL, OPTION_ENABLE_AUTO_IMAGE_BASE},
    {"disable-auto-image-base", no_argument, NULL, OPTION_DISABLE_AUTO_IMAGE_BASE},

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]