Hi Norman,
my nice plan for supporting debugging by linking my executable to another address failed.
I've added
-- LD_SCRIPT = $(call select_from_repositories,src/platform/genode.ld) CXX_LINK_OPT = -static -nostdlib -Wl,-nostdlib CXX_LINK_OPT += -Wl,-T$(LD_SCRIPT) -Wl,-Ttext=0x01000000 -- to its target.mk. That worked fine.
-- kamikaze@...22...:~/okl4/okl4_2.1.1-fix.7/genode-okl4-x86$ readelf -S bin/test-dde_linux26_net There are 30 section headers, starting at offset 0x4ec040:
Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .text PROGBITS 01000000 082000 06c1cc 00 AX 0 0 128 [ 2] .altinstr_replace PROGBITS 0106c1cc 0ee1cc 00011d 00 AX 0 0 1 [ 3] .sched.text PROGBITS 0106c2f0 0ee2f0 000f26 00 AX 0 0 16 [ 4] .kprobes.text PROGBITS 0106d216 0ef216 000058 00 AX 0 0 1 [ 5] .spinlock.text PROGBITS 0106d26e 0ef26e 0001e7 00 AX 0 0 1 [ 6] .fixup PROGBITS 0106d455 0ef455 00002a 00 AX 0 0 1 [ 7] __ex_table PROGBITS 0106d47f 0ef47f 000130 00 A 0 0 1 [ 8] .data PROGBITS 0106e000 0f0000 009cd0 00 WA 0 0 128 [ 9] .got PROGBITS 01077cd0 0f9cd0 000088 04 WA 0 0 4 [10] .got.plt PROGBITS 01077d58 0f9d58 00000c 04 WA 0 0 4 [11] .init.setup PROGBITS 01077d64 0f9d64 000030 00 WA 0 0 4 [12] .eh_frame PROGBITS 01077d94 0f9d94 006c30 00 A 0 0 4 [13] .gcc_except_table PROGBITS 0107e9c4 1009c4 0012e0 00 A 0 0 4 [14] .altinstructions PROGBITS 0107fca4 101ca4 000473 00 A 0 0 4 [15] .smp_locks PROGBITS 01080118 102118 0004ec 00 A 0 0 4 [16] __param PROGBITS 01080604 102604 000208 00 A 0 0 4 [17] .bss NOBITS 01080880 10280c 01e4e0 00 WA 0 0 128 [18] .debug_abbrev PROGBITS 00000000 10280c 0236a2 00 0 0 1 [19] .debug_info PROGBITS 00000000 125eae 2be0b6 00 0 0 1 [20] .debug_line PROGBITS 00000000 3e3f64 03d9ac 00 0 0 1 [21] .debug_frame PROGBITS 00000000 421910 01ff78 00 0 0 4 [22] .debug_loc PROGBITS 00000000 441888 06426e 00 0 0 1 [23] .debug_pubnames PROGBITS 00000000 4a5af6 015b4b 00 0 0 1 [24] .debug_aranges PROGBITS 00000000 4bb648 003858 00 0 0 8 [25] .debug_str PROGBITS 00000000 4beea0 029bf7 01 MS 0 0 1 [26] .debug_ranges PROGBITS 00000000 4e8a98 003460 00 0 0 8 [27] .shstrtab STRTAB 00000000 4ebef8 000147 00 0 0 1 [28] .symtab SYMTAB 00000000 4ec4f0 011760 10 29 1788 4 [29] .strtab STRTAB 00000000 4fdc50 01b474 00 0 0 1 --
But then, the mapping of .text and .data sections failed during startup. The same happened when I tried 0x04000000 as base address.
-- [init] Genode::addr_t _setup_elf(Genode::Parent_capability, Genode::Dataspace_capability, Genode::Ram_session&, Genode::Rm_session&): addresses differ after attach (addr=1000000 out_ptr=0) [init] Genode::addr_t _setup_elf(Genode::Parent_capability, Genode::Dataspace_capability, Genode::Ram_session&, Genode::Rm_session&): addresses differ after attach (addr=106e000 out_ptr=0) Start thread ip=10545d4 sp=0, pd=4, tid=0 no RM attachment (READ pf_addr=0 pf_ip=10545d4 from 04) --
Is there anything else I must know about the startup process?
Sven -- Sven Fülster