I am building a shared library for my own os with armcc(for some reason used the stdlib's 'malloc'), the link options is "--fpic --shared --linker_script="../lscript.ld" ",buf I got a link fault with:Error: L6286E: Relocation #REL:7 in h1_alloc_mt.o(.text) with respect to _malloc_internal. Value(0xfffdae36) out of range(-0x800 - 0x7fe) for (R_ARM_THM_JUMP11), what should i do? thanks
the 'lscript.ld' as bellow(referenced from armcc doc):
SECTIONS
{
. = 0 + SIZEOF_HEADERS;
.note.ABI-tag : { *(.note.ABI-tag) }
.hash : { *(.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.version : { *(.version) }
.version_d : { *(.version_d) }
.version_r : { *(.version_r) }
.rel.dyn : { *(.rel.dyn) }
.rela.dyn : { *(.rela.dyn) }
.rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) }
.init : { KEEP (*(.init)) }
.plt : { *(.plt) }
.text : { *(.text .text.*) }
.fini : { KEEP (*(.fini)) }
PROVIDE(__etext = .);
PROVIDE(_etext = .);
PROVIDE(etext = .);
.rodata : { *(.rodata .rodata.*) }
__exidx_start = .;
.ARM.exidx : { *(.ARM.exidx*) }
__exidx_end = .;
.interp : { *(.interp) }
. = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1));
. = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
.tdata : { *(.tdata .tdata.*) }
.tbss : { *(.tbss .tbss.*) }
.preinit_array :
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
}
.init_array :
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(.init_array*))
PROVIDE_HIDDEN (__init_array_end = .);
.fini_array :
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(.fini_array*))
PROVIDE_HIDDEN (__fini_array_end = .);
.dynamic : { *(.dynamic) }
.got : { *(.got.plt) *(.got) }
.data :
__data_start = .;
*(.data .data.*)
_edata = .;
PROVIDE(edata = .);
__bss_start = .;
__bss_start__ = .;
.bss :
*(.bss .bss.*)
. = ALIGN(. != 0 ? 32 / 8 : 1);
__bss_end__ = .;
_bss_end__ = .;
. = ALIGN(4);
__end = .;
_end = .;
PROVIDE(end = .);