https://sourceware.org/bugzilla/show_bug.cgi?id=29954
--- Comment #3 from Guillermo E. Martinez <guillermo.e.martinez at oracle dot com> --- (In reply to Jose E. Marchesi from comment #2) > Hi Nick. > > I tried that locally and definitely works. But I don't think it is the > right fix in this case. > > When linked without -Ttext=0x0, the following segments are created in the > resulting executable: > > Elf file type is EXEC (Executable file) > > Entry point 0x400000 > > There are 2 program headers, starting at offset 64 > > > > Program Headers: > > Type Offset VirtAddr PhysAddr > > FileSiz MemSiz Flags Align > > LOAD 0x0000000000100000 0x0000000000400000 0x0000000000400000 > > 0x0000000000000648 0x0000000000000648 R E 0x100000 > > LOAD 0x0000000000101648 0x0000000000801648 0x0000000000801648 > > 0x0000000000000006 0x0000000000000006 RW 0x100000 > > > > Section to Segment mapping: > > Segment Sections... > > 00 .text > > 01 .data > > > Which is perfectly fine. But then it is the simulator that fails with: > > spawn ./bpf/run --memory-size=4Mb > /home/jemarch/gnu/src/binutils-gdb/build-bpf/sim/alu.s.x > core: 8 byte read to unmapped address 0x400000 at 0x400000 > > Meaning the simulator is somehow not loading the segments at the right VMA. Increasing `--memory-size' in the simulator from 4Mb to 10MB SIGSEGV is gone, because .data start at address: 0x801648, Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000100000 0x0000000000400000 0x0000000000400000 0x0000000000000648 0x0000000000000648 R E 0x100000 LOAD 0x0000000000101648 0x0000000000801648 0x0000000000801648 0x0000000000000006 0x0000000000000006 RW 0x100000 -- You are receiving this mail because: You are on the CC list for the bug.