This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Gold] problem building linux kernel


On 2010.11.18 at 11:56 -0800, Doug Kwan (éæå) wrote:
> This is an uninitialized-variable bug.  Depenidng of whether KEEP_LEFT
> or KEEP_RIGHT is set, we will propagate the left or right operand's
> alignment.  However, not all sub-classes of Expression return
> alignment in Expression::value().  In particular,
> Symbol_expression::value() does not and causes this expression to have
> garbage alignment value:
> 
> init_per_cpu__gdt_page = gdt_page + __per_cpu_load;
> 
> Markus: Can you try initializing left_alignment and right_alignment to
> zero around line 390 of expression.cc?  That is a band-aid only to
> test my theory.

Looks good, many thanks Doug!

There are 6 program headers, starting at offset 64

Program Headers:
  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
  LOAD           0x200000 0xffffffff81000000 0x0000000001000000 0x5ab000 0x5ab000 R E 0x1000
  LOAD           0x7ab000 0xffffffff815ab000 0x00000000015ab000 0x064628 0x064628 RWE 0x1000
  LOAD           0x810000 0xffffffffff600000 0x0000000001610000 0x0008c8 0x0008c8 R E 0x1000
  LOAD           0x811000 0x0000000000000000 0x0000000001611000 0x011f80 0x011f80 RW  0x1000
  LOAD           0x823000 0xffffffff81623000 0x0000000001623000 0x0c5000 0x0c5000 RWE 0x1000
  NOTE           0x658a28 0xffffffff81458a28 0x0000000001458a28 0x000040 0x000040     0x4
-- 
Markus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]