This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: powerpc.ld question
I am seeing two issues with the linker. Either I get the internal error
ld: internal error /src/binutils-2.17/ld/ldlang.c 3803 when trying to
link. Or I see that it links but when executing the image and an
exception is thrown the code doesn't handle it correctly. By changing a
few lines of code (often containing strings) I can get either of those
behaviours or an image that works correctly.
Could well be an issue with the gcc I am using, however ld should not
fail with an internal error either. Have been in touch with binutils
developers and they suggested to try the head version of ld.
My powerpc.ld file does contain .eh_frame:
#define SECTION_eh_frame(_region_, _vma_, _lma_) \
.eh_frame _vma_ : _lma_ \
{ \
FORCE_OUTPUT; __EH_FRAME_BEGIN__ = .; \
KEEP(*(.eh_frame)) \
__FRAME_END__ = .; \
. = . + 8; \
} > _region_ = 0
But no mention of .eh_frame_hdr. Should I add it to that KEEP directive?
Wasn't sure if it should be there or in the text section.
Will.
Gary Thomas wrote:
Will Wagner wrote:
Have had issues with 2.16 & 2.17 of binutils so am now trying to get
the HEAD of CVS working.
Just curious - what issues did you have with these previous versions?
I run 2.16 and 2.16.1 here (gcc 3.4.3 and 4.1.0 respectively) with
no problems.
Does your powerpc.ld file not include a line which looks like this?
*(.eh_frame)
Perhaps it needs to be written as:
*(.eh_frame_hdr) *(.eh_frame)
I'm perplexed though; I've never had a need for this. Maybe it's in
your usage of GCC or how you configured it when building it.
Am using GCC 3.3.3
Gary Thomas wrote:
Will Wagner wrote:
I am trying to upgrade to a new version of binutils as I'm
experiencing problems with my current version.
The new version of ld throws an error when trying to link saying
that the section .eh_frame_hdr is not specified.
I know I need to add an entry to /hal/powerpc/src/powerpc.ld, but
I'm not sure where this needs to go. The only other .ld file I could
find that referenced eh_frame_hdr is sh4_202_md.ld but that file is
so different I didn't find it very useful.
What version of binutils (and GCC) are you using?
--
------------------------------------------------------------------------
Will Wagner will_wagner@carallon.com
Senior Project Engineer Office Tel: 0207 371 2032
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss