This is the mail archive of the
newlib@sources.redhat.com
mailing list for the newlib project.
libgloss patches that fix i386-elf problems
- From: Brendan Conoboy <blc at redhat dot com>
- To: newlib at sources dot redhat dot com
- Date: Thu, 07 Aug 2003 18:21:37 -0600
- Subject: libgloss patches that fix i386-elf problems
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)