[Xen-devel] [PATCH 0/4] xen/link: Fixes and improvements to Xen's linking

Andrew Cooper posted 4 patches 4 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/1560975087-25632-1-git-send-email-andrew.cooper3@citrix.com
xen/arch/arm/arm32/lib/assembler.h | 19 ++---------------
xen/arch/arm/xen.lds.S             | 43 +++++++++++++-------------------------
xen/arch/x86/xen.lds.S             | 28 ++++++++++---------------
3 files changed, 27 insertions(+), 63 deletions(-)
[Xen-devel] [PATCH 0/4] xen/link: Fixes and improvements to Xen's linking
Posted by Andrew Cooper 4 years, 9 months ago
Patch 1 came from Roger's observation that a clang/llvm-8 binary doesn't
actually boot.  All other patches are ancillary cleanup.

I'm afraid that I thing we still have further problems:

andrewcoop@andrewcoop:/local/xen.git/xen$ readelf -WS xen-syms
There are 23 section headers, starting at offset 0x13aa0b0:

Section Headers:
  [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            0000000000000000 000000 000000 00      0   0  0
  [ 1] .reloc            PROGBITS        ffff82d080000000 001000 000008 00   A  0   0  4
  [ 2] .text             PROGBITS        ffff82d080200000 201000 1611ba 00  AX  0   0 4096
  [ 3] .rodata           PROGBITS        ffff82d080362000 363000 0a24e8 00 WAMS  0   0 32
  [ 4] .got.plt          PROGBITS        ffff82d0804044e8 4054e8 000018 00  WA  0   0  8
  [ 5] .note.Xen         NOTE            ffff82d080404500 405500 000014 00   A  0   0  4
  [ 6] .note.gnu.build-id NOTE            ffff82d080404514 405514 000024 00   A  0   0  4
  [ 7] .init.text        PROGBITS        ffff82d080405000 406000 03baa3 00  AX  0   0 16
  [ 8] .init.data        PROGBITS        ffff82d080441000 442000 038878 00 WAMS  0   0 4096
  [ 9] .data             PROGBITS        ffff82d08047a000 47b000 018988 00  WA  0   0 4096
  [10] .bss              NOBITS          ffff82d080498000 493988 13fa80 00  WA  0   0 32768
  [11] .comment          PROGBITS        0000000000000000 493988 000060 01  MS  0   0  1
  [12] .debug_str        PROGBITS        0000000000000000 4939e8 048986 01  MS  0   0  1
  [13] .debug_loc        PROGBITS        0000000000000000 4dc36e 1e5905 00      0   0  1
  [14] .debug_abbrev     PROGBITS        0000000000000000 6c1c73 0478de 00      0   0  1
  [15] .debug_info       PROGBITS        0000000000000000 709551 948b38 00      0   0  1
  [16] .debug_ranges     PROGBITS        0000000000000000 1052089 01b650 00      0   0  1
  [17] .debug_macinfo    PROGBITS        0000000000000000 106d6d9 00015a 00      0   0  1
  [18] .debug_line       PROGBITS        0000000000000000 106d833 10f396 00      0   0  1
  [19] .debug_frame      PROGBITS        0000000000000000 117cbd0 069ca0 00      0   0  8
  [20] .symtab           SYMTAB          0000000000000000 11e6870 1985d0 18     22 69621  8
  [21] .shstrtab         STRTAB          0000000000000000 137ee40 0000e6 00      0   0  1
  [22] .strtab           STRTAB          0000000000000000 137ef26 02b185 00      0   0  1

With this fix in place, I see the unexpected .reloc which Roger noticed, but
we've got a .got.plt in there which surely can't be correct, either.

Andrew Cooper (4):
  xen/link: Cope with .rodata.cst* sections
  xen/link: Link .data.schedulers and CONSTRUCTERS in more appropriate locations
  xen/link: Fold .data.read_mostly into .data
  xen/link: Misc cleanup

 xen/arch/arm/arm32/lib/assembler.h | 19 ++---------------
 xen/arch/arm/xen.lds.S             | 43 +++++++++++++-------------------------
 xen/arch/x86/xen.lds.S             | 28 ++++++++++---------------
 3 files changed, 27 insertions(+), 63 deletions(-)

-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel