This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more infromation.


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

Re: request


   From: Boris Sunik <bsunik@cadul.com>
   Date: Thu, 4 May 2000 09:06:32 +0200 

   I know that from the version 2.8 gcc uses STABS type numbers in the form 
   (file_number, type_number).. As I  understand, all files in the module are

   referred by N_BINCL and N_ESCL items which are designated by the 
   "file_number". Also linker must create the global file table where all
   types 
   are defined only once omitting repetitious STABS debug info. 
   However, it is not clear how the linker processes debug info if the same 
   N_BINCL item occurs more as once. Does it use the first occurrence of
   data, 
   the last one or there is quite other approach. 

In principle, it shouldn't matter.  The linker will only eliminate
duplicate N_BINCL/N_EINCL stab sets.  Therefore, which one it keeps is
unimportant.

In practice, the linker simply keeps the first set.

The linker does not create any sort of global file table as you
describe.  The linker simply eliminates duplicate N_BINCL/N_EINCL stab
sets, replacing them with a single N_EXCL stab.

This algorithm is documented in the stabs documentation which comes
with gdb.  I believe it is available from
    http://sourceware.cygnus.com/gdb/

Ian

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


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