https://sourceware.org/bugzilla/show_bug.cgi?id=30059

--- Comment #3 from Stefan <stefan.tauner at gmx dot at> ---
clicking "submit" when adding the attachments was not the best idea, sorry ;)

The MWE shows the problem as follows. When running 'make -B
CC=aarch64-none-elf-gcc' as is the default ram origin is used (with aarch64
that's usually equal to the one commented out: 0x400000). The SECTIONS command
works as intended and the '__text_start' symbol as well as the '.text' section
start at the next 1M-aligned address, i.e.:

$ make -B CC=aarch64-none-elf-gcc
aarch64-none-elf-gcc    -c -o test.o test.S
aarch64-none-elf-gcc -Talign.ld  test.o   -o test
readelf -WS test | grep "\.text " | tr -s ' ' | cut -d' ' -sf6
0000000000500000
readelf -Ws test | grep __text_s
0000000000500000

However, when the MEMORY command of the provided linker file is used by
removing the comments, the addresses diverge:

$ make -B CC=aarch64-none-elf-gcc
aarch64-none-elf-gcc    -c -o test.o test.S
aarch64-none-elf-gcc -Talign.ld  test.o   -o test
readelf -WS test | grep "\.text " | tr -s ' ' | cut -d' ' -sf6
0000000000400040
readelf -Ws test | grep __text_start | tr -s ' ' | cut -d' ' -sf3
0000000000500000

Why does the memory map influence the section address in that way? Is this
intended or a bug?

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to