Re: "." in vmlinux.lds.S

From: HÃn ShÄn (ææ)
Date: Fri Jun 06 2014 - 16:45:31 EST


Hi Andy, this changes "Ndx" field for the symbol. For example, one of
the symbol '__end_rodata_hpage_align' in symtab, the contents changed
from
50206: ffffffff81800000 0 NOTYPE GLOBAL DEFAULT ABS
__end_rodata_hpage_align
which is correct, to
50206: ffffffff81800000 0 NOTYPE GLOBAL DEFAULT 25
__end_rodata_hpage_align
(25 is the index to section '.data')
which is wrong.

Han



On Fri, Jun 6, 2014 at 12:08 PM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> On Fri, Jun 6, 2014 at 11:53 AM, HÃn ShÄn (ææ) <shenhan@xxxxxxxxxx> wrote:
>> Yeah, the symbol "__end_rodata_hpage_align" is defined as absolute in
>> older binutils, the newer binutils making it relative seems
>> meaningless in this context.
>
> What I mean is: what actually changes in the linker output when the
> symbol is relative?
>
> --Andy
>
>>
>> On Fri, Jun 6, 2014 at 11:40 AM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>>> On 06/06/2014 10:08 AM, HÃn ShÄn (ææ) wrote:
>>>> A gentle ping?
>>>>
>>>> On Tue, Jun 3, 2014 at 2:46 PM, HÃn ShÄn (ææ) <shenhan@xxxxxxxxxx> wrote:
>>>>> Hi we are trying to boot up a x86_64 chrome book using binutils 2.24 and
>>>>> kernel 3.8, but failed.
>>>>>
>>>>> After some triage work, we found that a 2-year-old binutil CL changed the
>>>>> interpretation of "." in linker script ïshort story: absolute -> relative,
>>>>> long story: https://sourceware.org/ml/binutils/2012-06/msg00155.html).
>>>>>
>>>>> After some further work, we are able to boot the kernel with a kernel patch
>>>>> pasted at EOM. I am curious, why the upstream kernel is never hit by this
>>>>> behavior? We enabled "CONFIG_DEBUG_RODATA", so we were hit, is this some
>>>>> macro not usually turned on?
>>>
>>> What does a section-relative symbol do?
>>>
>>> --Andy
>>
>>
>>
>> --
>> Han Shen | Software Engineer | shenhan@xxxxxxxxxx | +1-650-440-3330
>
>
>
> --
> Andy Lutomirski
> AMA Capital Management, LLC



--
Han Shen | Software Engineer | shenhan@xxxxxxxxxx | +1-650-440-3330
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/