This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
arm-elf-ld generate arm interworking stub at bad address ?
- From: Sylvere TEISSIER <st_remove_this_ at invia dot fr>
- To: binutils at sourceware dot org
- Date: Thu, 16 Oct 2008 17:53:52 +0200
- Subject: arm-elf-ld generate arm interworking stub at bad address ?
Hi,
when I link mixed thumb and arm code with interworking, the linker
insert a .stub section at the beginning of the memory.
But, like expressed in my linker script present bellow, I want my
exceptions vectors assembled with ".section .startup" at the origin of
the memory.
Why ld doesn't place this stub at other place ?
Is there something wrong with my linker script ? Or is it a bug ?
I have this problem with both binutils-2.18.50 and binutils-2.19.50
bellow:the linker script and map output
---------------LINKER SCRIPT-----------------------
ENTRY(_vec_reset)
MEMORY
{
ram: ORIGIN = 0x67000, LENGTH = 92K
}
_stack_end = 0x7E9FC;
SECTIONS
{
. = 0;
.text :
{
*(.startup)
*(.text*)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
_etext = .;
} >ram
.data :
{
_data = .;
*(.data*)
_edata = .;
} >ram
.bss :
{
_bss_start = .;
*(.bss*)
} >ram
. = ALIGN(4);
_bss_end = . ;
}
_end = .;
----------------------MAP OUTPUT EXTRACT---------------------------
Name Origin Length Attributes
ram 0x00067000 0x00017000
*default* 0x00000000 0xffffffff
Linker script and memory map
0x0007e9fc _stack_end = 0x7e9fc
0x00000000 . = 0x0
.text 0x00067000 0x3414
*(.startup)
.startup.stub 0x00067000 0x20 linker stubs
.startup 0x00067020 0x20 obj/crt.o
0x00067024 _vec_undef
0x0006702c _vec_pabt
0x00067038 _vec_irq
0x00067034 _vec_rsv
0x00067028 _vec_swi
0x00067030 _vec_dabt
0x00067020 _vec_reset
0x0006703c _vec_fiq
*(.text*)
[... all others functions and datas...]