gcj-security and some issues

Bryce McKinlay mckinlay@redhat.com
Thu Apr 29 15:09:00 GMT 2004


Andrew Haley wrote:
> > >It would be interesting if
> > >the compiler could put the start and the end adress (pc) (perhaps
> > >relative adress, for relocation and so on) of the methods that were
> > >written in java in a write protected memory area (in the constant
> > >region).
> > 
> > The compiler already does this, as part of the DWARF2 unwind info. The 
> > tricky part is mapping the function to the class it belongs to. 
> > Currently this is done with a hash table but possibly we can add 
> > something to the FDE (LDSA?) to make it more efficient.
>>The unwinder uses a binary search on each PC value in a stack frame to
>locate the start of the function. Going from there to a class is a
>relatively small thing.
>>
Well, you'd think so, but this is the reason why my patch is taking so 
long - it becomes complicated because of the Linker/PLT messing function 
pointers up. Besides that, it takes a reasonable amount of code 
(potentially during startup if a stack trace is needed) and a not 
insignificant amount of locking and memory use to build up the hash 
table that is used to do this mapping.
So, I had the idea to actually put a link to the class associated with a 
given frame into the unwind info somehow. I'm guessing thats probably 
fairly complicated to do, though, so it won't be in the initial patch.
>We already have everything needed to make this work. As I understand
>it, your new stack trace infrastructure will make this cleaner, but
>will probably have little impact on performance, either positive or
>negative. From the point of view of the user, it's a change of
>interface.
>>
Yes, thats right.
Regards
Bryce


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /