This is the mail archive of the binutils@sourceware.cygnus.com 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]

IEEE support issues


Hi!

1. This code in ieee.c was fixed in CVS but then reverted:

==
  info->filename = filename;
  modname = strrchr (filename, '/');
  /* We could have a mixed forward/back slash case.  */
  backslash = strrchr (modname, '\\');
  if (backslash > modname)
    modname = backslash;

  if (modname != NULL)
    ++modname;
==

Could anyone please to replace at least `modname' with `filename' in the
second strrchr so binutils will not crash on IEEE producing? I really don't
care about signed pointers but this change is essential for me since we
regularly produce IEEE object files from COFF in our company ;-)

2. The second issue I found is that GCC and Binutils differently parses
size in .stab debug information: GCC produces sizes in bits and Binutils
assumes bytes. I don't know who is right (though it seems like GCC) but
this issue should be resolved. Currently I've added division by 8 to the
parse_stab_type() (stabs.c) as follows:
==
       switch (*attr)
         {
         case 's':
           size = atoi (attr + 1) / 8; /* adjust the size */
           if (size <= 0)
          size = -1;
           break;

         case 'S':
           stringp = true;
           break;

         default:
           /* Ignore unrecognized type attributes, so future
           compilers can invent new ones.  */
           break;
         }
==

--
Alexander Aganichev
Hypercom Europe Limited, Inc.
Software Engineer


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