get rid of Elf32/Elf64_Section as this is a non-portable Linux-ism.
ClosedPublic

Authored by kgardas on Nov 1 2015, 3:14 PM.

Details

Summary

D1357 introduces usage of Elf32_Section/Elf64_Section in RTS linker
code. Unfortunately this is a non-portable Linux-ism and such types are not
defined anywhere except the Linux-land probably. I've checked Solaris 11.2,
Solaris 11.3, FreeBSD 10.1, NetBSD 6.1.5 and OpenBSD current. The fix
is easy to use `unsigned short' as this is also an underlying type
of those Elf*_Section defines in Linux.

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
kgardas updated this revision to Diff 4872.Nov 1 2015, 3:14 PM
kgardas retitled this revision from to get rid of Elf32/Elf64_Section as this is a non-portable Linux-ism..
kgardas updated this object.
kgardas edited the test plan for this revision. (Show Details)
kgardas added reviewers: olsner, bgamari, austin.

@erikd: Any comment to your do-not-approve sign? I would really appreciate that. Thanks! Karel

bgamari edited edge metadata.Nov 1 2015, 4:04 PM

@kgardas, don't worry; the symbol isn't an indication that @erikd doesn't approve, only that his review blocks the mergeability of the Differential.

@bgamari: Thanks for letting me know. Now, it's clear. :-)

erikd accepted this revision.Nov 1 2015, 10:48 PM
erikd edited edge metadata.

Looks good to me. I actually dislike the Elf_* types :-).

This revision is now accepted and ready to land.Nov 1 2015, 10:48 PM
This revision was automatically updated to reflect the committed changes.