diff options
| author | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2003-01-16 22:26:43 -0600 |
|---|---|---|
| committer | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2003-01-16 22:26:43 -0600 |
| commit | aae7d999e258ba7b26027251d99db728ea1622cf (patch) | |
| tree | f820b3b52a1c45532f00f0a1af5db1cc9ffe91b6 /scripts | |
| parent | 6a3354a951d40d2f8e98317626eb3f88a4952818 (diff) | |
kbuild: Fix __start_SECTION, __stop_SECTION
In a discussion with Sam Ravnborg, the following problem became apparent:
Most vmlinux.lds.S (but the ARM ones) used the following construct:
__start___ksymtab = .;
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) {
*(__ksymtab)
}
__stop___ksymtab = .;
However, the link will align the beginning of the section __ksymtab
according to the requirements for the input sections. If '.' (current
location counter) wasn't sufficiently aligned before, it's possible
that __ksymtab actually starts at an address after the one
__start___ksymtab points to, which will confuse the users of
__start___ksymtab badly. The fix is to follow what the ARM Makefiles
did for this case, ie
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) {
__start___ksymtab = .;
*(__ksymtab)
__stop___ksymtab = .;
}
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
