This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.


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

Re: ARM crt.. files


> It doesn't fix it completely at the moment.  I think I can see a way to
> make it work but this would involve modifying both GCC and GAS to change
> the way global data is accessed (basically, some of the intelligence
> would need moving from the compiler to the assembler).  Although I'm
> prepared to try this if necessary, I'm not too keen on doing so if a
> simpler solution would avoid the problem.

Can you explain the situation in more detail?  That is, describe the ARM
ELF layout (like what objdump on initfini.o from my version looks like)
and why splitting it doesn't work?

> The simpler, though less elegant, solution that I can think of is to 
> remove the test of `if (__gmon_start__ != NULL)' and always provide a weak 
> definition of __gmon_start__ that does nothing.  If the real gmon_start is 
> present it will override the weak definition and if not we only have to pay 
> the price of one function call at startup, which in any case is offset by
> the saving of not needing the comparison.  Does that sound workable and 
> acceptable to people?

That seems reasonable enough to me if it is necessary to fix the problem.
Independently, I am interested in the details of why my solution didn't work.


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