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