This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Unaligned relocations in the shared libstdc++ on a linux/alpha
- To: gcc at gcc dot gnu dot org
- Subject: Unaligned relocations in the shared libstdc++ on a linux/alpha
- From: Ivan Kokshaysky <ink at jurassic dot park dot msu dot ru>
- Date: Tue, 27 Jul 1999 19:13:52 +0400
Hi!
This is an example of the asm output from output_call_frame_info()
(dwarf2out.c):
.section .eh_frame,"aw",@progbits
__FRAME_BEGIN__:
.4byte $LECIE1-$LSCIE1 # Length of Common Information Entry
$LSCIE1:
.4byte 0x0 # CIE Identifier Tag
.byte 0x1 # CIE Version
.ascii "eh\0" # CIE Augmentation
.8byte __EXCEPTION_TABLE__ # pointer to exception region info
.byte 0x1 # ULEB128 0x1 (CIE Code Alignment Factor)
...
One can see that pointer to exception table is not 8 bytes aligned.
That causes a bunch of unaligned traps in the loader.
I'm not familiar with dwarf-2 stuff, so I'm not sure what is correct way
to fix it, but it could be fixed quite easy.
Ivan.