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.