[arm-gnu] Specifying Load Address: undefined __exidx_start, __exidx_end
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[arm-gnu] Specifying Load Address: undefined __exidx_start, __exidx_end
- To: <arm-gnu@xxxxxxxxxxxxxxxx>
- Subject: [arm-gnu] Specifying Load Address: undefined __exidx_start, __exidx_end
- From: "David Engraf" <engraf.david@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 22 Dec 2005 12:29:53 +0100
Tools: CodeSourcery 2005q3-2, Linux host, "bare metal" target.
Target CPU: AT91R40008
I want to create a new ldscript file for my hardware in order to define the
ROM/RAM start address. When I use my own ldscript file, the linker generates
the following error:
/usr/local/bin/../lib/gcc/arm-none-eabi/3.4.4/libgcc.a(unwind-arm.o): In
function `get_eit_entry':unwind-arm.c:(.text+0x45c): undefined reference to
`__exidx_start'
:unwind-arm.c:(.text+0x460): undefined reference to `__exidx_end'
collect2: ld returned 1 exit status
make: *** [test.elf] Fehler 1
What does __exidx_start and __exidx_end do? Where should I place this
section in my ldscript file? Is there any startup code I need, because I
have my own startup code for the remap of the arm?
David Engraf
My ldscript:
/* Memory Definitions */
MEMORY
{
CODE (rx) : ORIGIN = 0x00000000, LENGTH = 0x00030000
DATA (rw) : ORIGIN = 0x00030000, LENGTH = 0x00010000
}
LADR = 0x01000000;
/* Section Definitions */
SECTIONS
{
/* first section is .text which is used for code */
.text : AT (LADR)
{
*startup.o (.text) /* Startup code */
*(.text) /* remaining code */
*(.glue_7t) *(.glue_7)
} >CODE =0
. = ALIGN(4);
/* .rodata section which is used for read-only data (constants) */
_rodata = . ;
.rodata . : AT (LADR + _rodata )
{
*(.rodata)
} >CODE
. = ALIGN(4);
_etext = . ;
PROVIDE (etext = .);
/* .data section which is used for initialized data */
.data : AT (LADR + _etext )
{
_data = . ;
*(.data)
SORT(CONSTRUCTORS)
} >DATA
. = ALIGN(4);
_edata = . ;
PROVIDE (edata = .);
_eload = _etext + (_edata - _data);
/* .bss section which is used for uninitialized data */
.bss :
{
__bss_start = . ;
__bss_start__ = . ;
*(.bss)
*(COMMON)
} >DATA
. = ALIGN(4);
__bss_end__ = . ;
__bss_end__ = . ;
_end = .;
PROVIDE (end = .);
}
____________
Virus checked by G DATA AntiVirusKit
Version: AVK 16.2347 from 22.12.2005