+2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * ld-arm/arm-dyn.ld, ld-arm/arm-lib.ld: Remove .stack.
+ * ld-arm/armthumb-lib.d, ld-arm/mixed-app.d, ld-arm/mixed-lib.d:
+ Allow smaller section gap.
+ * ld-arm/armthumb-lib.sym, ld-arm/mixed-lib.sym: Reorder. Remove
+ _stack.
+ * ld-arm/mixed-app.sym: Remove _stack.
+ * ld-arm/tls-app.d: Update start address.
+
2006-11-08 Alan Modra <amodra@bigpond.net.au>
* ld-elf/group.ld: Handle .rodata.brlt for powerpc64.
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
- .stack 0x80000 :
- {
- _stack = .;
- *(.stack)
- }
.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
/DISCARD/ : { *(.note.GNU-stack) }
}
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
- .stack 0x80000 :
- {
- _stack = .;
- *(.stack)
- }
.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
/DISCARD/ : { *(.note.GNU-stack) }
}
.* <lib_func1>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 stmdb sp!, {fp, ip, lr, pc}
- .*: ebfffff. bl .* <.text-0x..>
+ .*: ebfffff. bl .* <.text-0x..?>
.*: e89d6800 ldmia sp, {fp, sp, lr}
.*: e12fff1e bx lr
.*: e1a00000 nop \(mov r0,r0\)
.*: 46c0 nop \(mov r8, r8\)
.* <lib_func2>:
- .*: e59fc004 ldr ip, \[pc, #4\] ; 33c <lib_func2\+0xc>
+ .*: e59fc004 ldr ip, \[pc, #4\] ; .* <lib_func2\+0xc>
.*: e08cc00f add ip, ip, pc
.*: e12fff1c bx ip
.*: ffffffe5 .*
Symbol table for image:
Num Buc: Value Size Type Bind Vis Ndx Name
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _edata
- .. ..: .......0 20 FUNC GLOBAL DEFAULT 6 lib_func1
- .. ..: .......0 2 FUNC GLOBAL DEFAULT 6 lib_func2
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _bss_end__
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_end__
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _stack
- .. ..: ........ 4 OBJECT GLOBAL DEFAULT 9 data_obj
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_start__
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _end
- .. ..: 00000000 0 NOTYPE GLOBAL DEFAULT UND app_func2
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_end
+ .. ..: ........ 4 OBJECT GLOBAL DEFAULT 9 data_obj
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_end__
+ .. ..: .......0 20 FUNC GLOBAL DEFAULT 6 lib_func1
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT 9 __data_start
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __end__
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ .. ..: 00000000 0 NOTYPE GLOBAL DEFAULT UND app_func2
+ .. ..: .......0 2 FUNC GLOBAL DEFAULT 6 lib_func2
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _bss_end__
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_end
.* <app_func>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 stmdb sp!, {fp, ip, lr, pc}
- .*: ebfffff. bl .*
+ .*: ebffff.. bl .*
.*: e89d6800 ldmia sp, {fp, sp, lr}
.*: e12fff1e bx lr
.*: e1a00000 nop \(mov r0,r0\)
.. ..: 0*[^0]*.* 20 FUNC GLOBAL DEFAULT UND lib_func1
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT 11 __data_start
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT 12 _stack
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __end__
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
.. ..: .......0 0 FUNC GLOBAL DEFAULT 8 app_func2
.* <lib_func1>:
.*: e1a0c00d mov ip, sp
.*: e92dd800 stmdb sp!, {fp, ip, lr, pc}
- .*: ebfffff. bl .* <.text-0x..>
+ .*: ebfffff. bl .* <.text-0x..?>
.*: e89d6800 ldmia sp, {fp, sp, lr}
.*: e12fff1e bx lr
.*: e1a00000 nop \(mov r0,r0\)
Symbol table for image:
Num Buc: Value Size Type Bind Vis Ndx Name
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _edata
- .. ..: .......0 20 FUNC GLOBAL DEFAULT 6 lib_func1
- .. ..: .......1 2 FUNC GLOBAL DEFAULT 6 lib_func2
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _bss_end__
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_end__
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _stack
- .. ..: ........ 4 OBJECT GLOBAL DEFAULT 9 data_obj
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_start__
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _end
- .. ..: 00000000 0 NOTYPE GLOBAL DEFAULT UND app_func2
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_end
+ .. ..: ........ 4 OBJECT GLOBAL DEFAULT 9 data_obj
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_end__
+ .. ..: .......0 20 FUNC GLOBAL DEFAULT 6 lib_func1
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT 9 __data_start
.. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __end__
- .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ .. ..: 00000000 0 NOTYPE GLOBAL DEFAULT UND app_func2
+ .. ..: .......1 2 FUNC GLOBAL DEFAULT 6 lib_func2
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS _bss_end__
+ .. ..: ........ 0 NOTYPE GLOBAL DEFAULT ABS __exidx_end
.*: file format elf32-.*arm
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
-start address 0x00008220
+start address 0x00008204
Disassembly of section .text:
-00008220 <foo>:
- 8220: e1a00000 nop \(mov r0,r0\)
- 8224: e1a00000 nop \(mov r0,r0\)
- 8228: e1a0f00e mov pc, lr
- 822c: 000080bc streqh r8, \[r0\], -ip
- 8230: 000080b4 streqh r8, \[r0\], -r4
- 8234: 000080ac andeq r8, r0, ip, lsr #1
- 8238: 00000004 andeq r0, r0, r4
- 823c: 000080c4 andeq r8, r0, r4, asr #1
- 8240: 00000014 andeq r0, r0, r4, lsl r0
+00008204 <foo>:
+ 8204: e1a00000 nop \(mov r0,r0\)
+ 8208: e1a00000 nop \(mov r0,r0\)
+ 820c: e1a0f00e mov pc, lr
+ 8210: 000080bc streqh r8, \[r0\], -ip
+ 8214: 000080b4 streqh r8, \[r0\], -r4
+ 8218: 000080ac andeq r8, r0, ip, lsr #1
+ 821c: 00000004 andeq r0, r0, r4
+ 8220: 000080c4 andeq r8, r0, r4, asr #1
+ 8224: 00000014 andeq r0, r0, r4, lsl r0