gc sections and .eh_frame
Jonathan Larmour
jifl@eCosCentric.com
Wed Jun 8 19:29:00 GMT 2005
Richard Henderson wrote:
> On Wed, Jun 08, 2005 at 12:14:07PM +0100, Jonathan Larmour wrote:
>
>>From a brief foray into the GCC sources, I believe the use of
>>gcc_except_table depends on the existence of TARGET_ASM_NAMED_SECTION,
>>which is not defined for any powerpc other than rs6000-xcoff.
>
>
> You're confused. All elf have it.
Fair enough, it was only a belief, and it's easy for GCC to confuse me ;).
But empirically, powerpc-eabi does put exception stuff referenced from
.eh_frame into .rodata:
dargo:/tmp$ cat >e.cxx
extern void foo(void);
int main()
{
try {
foo();
} catch(...) {
return 1;
};
return 0;
}
dargo:/tmp$ powerpc-eabi-g++ -c e.cxx
dargo:/tmp$ powerpc-eabi-objdump -h e.o
e.o: file format elf32-powerpc
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000060 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 .data 00000000 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00000000 00000000 00000094 2**0
ALLOC
3 .rodata 00000014 00000000 00000000 00000094 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .eh_frame 00000040 00000000 00000000 000000a8 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
5 .comment 00000020 00000000 00000000 000000e8 2**0
CONTENTS, READONLY
The .rodata there contains the exception info referenced by .eh_frame and
there is no .gcc_except_table section present at all.
This has been the case for years for powerpc-eabi, I don't know how long.
Jifl
--
eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
--["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine
More information about the Binutils
mailing list