libgloss patches that fix i386-elf problems
J. Johnston
jjohnstn@redhat.com
Wed Aug 13 16:15:00 GMT 2003
Patch checked in with minor modifications to ChangeLog. Thanks.
-- Jeff J.
Brendan Conoboy wrote:
> Hello,
>
> The below two patches fix some problems with i386-elf executables
> running on boards with either cygmon or redboot. Bernd's patch prevents
> eh_frame from walking all over redboot's active memory. Mark's patch
> aligns __CTOR_LIST__, preventing a SIGILL at start time. Both patches
> are tested against gcc 3.2.2+binutils 2.13. The application of the two
> patches solves a couple hundred gdb.c++ test cases for me.
>
> Thu Aug 7 18:24:59 UTC 2003 Mark Salter <msalter@redhat.com>
>
> * i386/cygmon.ld: Add 4 byte alignment to __CTOR_LIST__
>
> 2001-12-17 Bernd Schmidt <bernds@redhat.com>
>
> * i386/cygmon.ld: Add entry for .rodata.
>
> The patches:
> Index: i386/cygmon.ld
> ===================================================================
> RCS file: /cvs/cvsfiles/gnupro/libgloss/i386/cygmon.ld,v
> retrieving revision 1.1.1.1
> retrieving revision 1.1.1.1.2.2
> diff -c -r1.1.1.1 -r1.1.1.1.2.2
> *** i386/cygmon.ld 3 Dec 2002 19:09:57 -0000 1.1.1.1
> --- i386/cygmon.ld 7 Aug 2003 18:29:20 -0000 1.1.1.1.2.2
> ***************
> *** 34,39 ****
> --- 34,40 ----
> *(.rel.sdata)
> PROVIDE (__runtime_reloc_stop = .);
> *(.fini)
> + . = ALIGN(4);
> __CTOR_LIST__ = .;
> CONSTRUCTORS
> LONG(-1)
> ***************
> *** 52,58 ****
> .rdata : {
> *(.rdata)
> }
> ! _fdata = ALIGN(16);
> .data : {
> *(.data)
> *(.gcc_except_table)
> --- 53,68 ----
> .rdata : {
> *(.rdata)
> }
> ! .rodata : {
> ! *(.rodata)
> ! }
> ! .eh_frame :
> ! {
> ! PROVIDE (__EH_FRAME_BEGIN__ = .);
> ! *(.eh_frame)
> ! PROVIDE (__EH_FRAME_END__ = .);
> ! }
> ! _fdata = ALIGN(16);
> .data : {
> *(.data)
> *(.gcc_except_table)
>
More information about the Newlib
mailing list