lkml.org 
[lkml]   [2009]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: Absolute symbols in vmlinux_64.lds.S
Jeremy Fitzhardinge <jeremy@goop.org> writes:

> Why does vmlinux_64.lds.S use absolute symbols for things like __bss_start/stop:
>
> __bss_start = .; /* BSS */
> .bss : AT(ADDR(.bss) - LOAD_OFFSET) {
> *(.bss.page_aligned)
> *(.bss)
> }
> __bss_stop = .;
>
>
> vmlinux_32.lds.S puts __bss_start/stop into the .bss section itself. Is there
> some particular reason they need to be absolute symbols (relocation?).

It is more that in vmlinux_32.lds.S they needed to be section relative, to
deal with relocation.

For the 64bit kernel the relocation happens at the level under the page table
so does not show up in vmlinux_64.lds.S. Which means it was probably
laziness that didn't get it changed simply because it hasn't matter.

Eric


\
 
 \ /
  Last update: 2009-03-10 02:39    [W:0.060 / U:3.604 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site