This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB 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]

Re: msym->info is wack


Hi Andrew,

mec> === ARM-TDEP.C, M68HC11-TDEP.C, MIPS-TDEP.C, SH-TDEP.C
mec> 
mec> These *-tdep.c files use msym->info as a place to store flag bits.
mec> So, first, they are converting 'void *' to 'long' and back again.

ac> Begs the question, is the field needed -> can bfd provide the info directly?

I don't know.

My point of view is "incremental improvement from status quo".  From
that point of view, changing "set flag bit in void *" to "set flag bit
in minsym->tdep_flags" is an improvement.  It makes it easier, not
harder, to change the tdep code later, if desired.

ac> If Arm sets that top bit, dbxread.c would discover a very large size.
ac> 
ac> Guess that never happens.

True.  The code in dbxread.c is conditional on
SOFUN_ADDRESS_MAYBE_MISSING.  That macro is defined in:

  config/i386/tm-i386sol2.h
  config/i386/tm-linux.h
  powerpc/tm-linux.h
  powerpc/tm-ppc-eabi.h
  sparc/tm-sun4sol2.h

And the flag bits are in:

  arm-tdep.c
  m68hc11-tdep.c
  mips-tdep.c
  sh-tdep.c

So there is no actual overlap at this time.  But it's really disgusting!

Michael C


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