This is the mail archive of the binutils@sources.redhat.com 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: PATCH: Fix removed sections (Re: 2.12.90.0.12 Kernel Miscompile)


  Date: Mon, 1 Jul 2002 21:10:46 +0930
  From: Alan Modra <amodra@bigpond.net.au>

  I'm curious to know exactly why.  So far, I've only seen symptoms
  reported, which could well be due to bugs in the kernel.  (*)  My
  builds of 2.2.21 had no signifigant differences after applying your
  patch, just the version string.  I probably don't use the same
  config as you do.

  Can one of you provide a little more information about vmlinux file
  differences?  "readelf -S vmlinux" output before/after HJ's patch, if
  different would be useful.  My suspicion is that something in the
  kernel is relying on a removed output section's alignment to affect
  placement of the next output section.

  *) Not that we want binutils to break kernel builds!  However, if the
  kernel is relying on what can be argued as ld _bugs_, then we need to
  a) fix the kernel and b) consider whether we can live with a ld bug
  in order to support old code.

I've prepaered vmlinux.12 and vmlinux.14 based on the ...12 and ..14 recent
binutils versions so that a comparison can be made.  The 12 crashed but 14
works fine.  Here is the readelf -S you requested:

midkemia:/ss/linux/kelewan> readelf -S linux/vmlinux.12
There are 20 section headers, starting at offset 0x1cc120:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        c0100000 001000 122b15 00  AX  0   0 16
  [ 2] .text.lock        PROGBITS        c0222b18 123b18 004030 00  AX  0   0  4
  [ 3] .rodata           PROGBITS        c0226b60 127b60 040e80 00   A  0   0 32
  [ 4] __ex_table        PROGBITS        c02679e0 1689e0 0010f8 00   A  0   0  4
  [ 5] .data             PROGBITS        c0268ae0 169ae0 0239d4 00  WA  0   0 32
  [ 6] .exitcall.exit    PROGBITS        c028c4b4 18d4b4 000008 00  WA  0   0  4
  [ 7] .data.init_task   PROGBITS        c028e000 18e000 002000 00  WA  0   0 32
  [ 8] .text.init        PROGBITS        c0290000 190000 0176c6 00  AX  0   0  4
  [ 9] .data.init        PROGBITS        c02a76e0 1a76e0 01d1b4 00  WA  0   0 32
  [10] .setup.init       PROGBITS        c02c48a0 1c48a0 000010 00  WA  0   0  4
  [11] .initcall.init    PROGBITS        c02c48b0 1c48b0 00000c 00  WA  0   0  4
  [12] .data.cacheline_a PROGBITS        c02c5000 1c5000 002000 00  WA  0   0 32
  [13] .data.page_aligne PROGBITS        c02c7000 1c7000 000800 00  WA  0   0 32
  [14] .bss              NOBITS          c02c7800 1c7800 0234c8 00  WA  0   0 32
  [15] .comment          PROGBITS        00000000 1c7800 002ffe 00      0   0  1
  [16] .note             NOTE            00000000 1ca7fe 00184c 00      0   0  1
  [17] .shstrtab         STRTAB          00000000 1cc04a 0000d4 00      0   0  1
  [18] .symtab           SYMTAB          00000000 1cc440 01cad0 10     19 1184  4
  [19] .strtab           STRTAB          00000000 1e8f10 018f7f 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)
midkemia:/ss/linux/kelewan> readelf -S linux/vmlinux.14
There are 20 section headers, starting at offset 0x1cc120:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        c0100000 001000 122b15 00  AX  0   0 16
  [ 2] .text.lock        PROGBITS        c0222b18 123b18 004030 00  AX  0   0  4
  [ 3] .rodata           PROGBITS        c0226b60 127b60 040e80 00   A  0   0 32
  [ 4] __ex_table        PROGBITS        c02679e0 1689e0 0010f8 00   A  0   0  4
  [ 5] .data             PROGBITS        c0268ae0 169ae0 0239d4 00  WA  0   0 32
  [ 6] .exitcall.exit    PROGBITS        c028c4b4 18d4b4 000008 00  WA  0   0  4
  [ 7] .data.init_task   PROGBITS        c028e000 18e000 002000 00  WA  0   0 32
  [ 8] .text.init        PROGBITS        c0290000 190000 0176c6 00  AX  0   0  4
  [ 9] .data.init        PROGBITS        c02a76e0 1a76e0 01d1b4 00  WA  0   0 32
  [10] .setup.init       PROGBITS        c02c48a0 1c48a0 000010 00  WA  0   0  4
  [11] .initcall.init    PROGBITS        c02c48b0 1c48b0 00000c 00  WA  0   0  4
  [12] .data.cacheline_a PROGBITS        c02c5000 1c5000 002000 00  WA  0   0 32
  [13] .data.page_aligne PROGBITS        c02c7000 1c7000 000800 00  WA  0   0 32
  [14] .bss              NOBITS          c02c7800 1c7800 0234c8 00  WA  0   0 32
  [15] .comment          PROGBITS        00000000 1c7800 002ffe 00      0   0  1
  [16] .note             NOTE            00000000 1ca7fe 00184c 00      0   0  1
  [17] .shstrtab         STRTAB          00000000 1cc04a 0000d4 00      0   0  1
  [18] .symtab           SYMTAB          00000000 1cc440 01cad0 10     19 1184  4
  [19] .strtab           STRTAB          00000000 1e8f10 018f7f 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)
midkemia:/ss/linux/kelewan> 


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