[Barrelfish-users] .data section overlapping .text
andrewb at inf.ethz.ch
Tue Aug 16 17:50:05 CEST 2011
I actually can't remember why we hardwire the start of the data section. I think without it the linker tries to align it on a 4M page boundary, so I suspect that the reason we pin it lower may either be a hangover from an old version of Barrelfish where our VM system was even more limited than it is today and couldn't support such a high mapping, or a requirement for the early boot domains (init, mem_serv and monitor) where such mappings aren't possible. I know that in the past we have increased the address for big programs such as yours (you can override the flag in your app's Hakefile).
So in summary, someone needs to figure out if we can remove this flag (and perhaps just reinstate it for the early boot domains), and do that. If you can't be bothered doing that, just removing it for your app should also work fine.
From: Zeus Gómez Marmolejo [mailto:zeus.gomez at bsc.es]
Sent: Tuesday, 16 August, 2011 8:04
To: barrelfish-users at lists.inf.ethz.ch
Subject: [Barrelfish-users] .data section overlapping .text
I've seen that all executables compiled for x86_64 have the -section-start .data.rel.ro<http://data.rel.ro>=0x600000 for the linker.
I just activated all debug and trace capabilities of Gasnet and surprisingly the text section starting on 0x400000 goes beyond 0x600000, so the linker complains with the following error:
/usr/bin/ld: section .data.rel.ro<http://data.rel.ro> loaded at [0000000000600000,0000000000601077] overlaps section .text loaded at [0000000000400160,000000000064d8a7]
Do you need the data section to be placed at 0x600000 ? Why is that? Can't the loader just read it from the ELF header?
Zeus Gómez Marmolejo
Barcelona Supercomputing Center
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Barrelfish-users