This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


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

Re: [discuss] Re: [patches] Re: x86_64 frame unwind info





On Wed, 17 Oct 2001, Andi Kleen wrote:

  On Wed, Oct 17, 2001 at 02:29:59PM -0700, Richard Henderson wrote:
  > On Wed, Oct 17, 2001 at 11:21:26PM +0200, Jan Hubicka wrote:
  > > There is demand to allow standard way of stack unwinding of the code.
  > > To my understanding this is mostly to allow Java runtimes garbage collect
  > > non-conservativly in the JITs (they needs to see trought the C code to the
  > > JIT compiled stack frames to track down the references).
  > 
  > But that requirement is very different from a requirement for a
  > particular encoding, as asserted by Andi.
  
  [as far as I understand it the goal in the x86-64 abi was to standardize it,
  to make up for the lack of a frame pointer] 

This is true. There is standardization at two levels. On one hand there
are standard routines for propagating and handling exceptions, and at
the lower level the format of the tables (DWARF) is standardized.
  
  > What you actually want is extensions to libgcc's EH traversal that
  > allow you to walk the stack without actually changing machine state.
  > I would be most happy to add such a thing.
  
  That would require making libgcc part of the x86-64 ABI.

Why would you need to make it part of the x86-64 ABI? (It definately must
not be.) There is no requirement that this routine be callable by all 
programs on x86-64.  Any program that requires the functionality of 
walking the stack, can either implement the algorithm itself, 
or use another implementation.

Could you explain why you'd think libgcc would need to be part of the ABI?

  -Geert


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