[GHC] #9007: fails to build with hardening flags enabled (relocation R_X86_64_32 against `stg_CHARLIKE_closure'...)
GHC
ghc-devs at haskell.org
Fri Jul 3 07:44:44 UTC 2015
#9007: fails to build with hardening flags enabled (relocation R_X86_64_32 against
`stg_CHARLIKE_closure'...)
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner: nomeata
Type: bug | Status: infoneeded
Priority: high | Milestone: 7.12.1
Component: Compiler | Version: 7.9
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Building GHC | Unknown/Multiple
failed | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by slyfox):
Replying to [comment:21 kgardas]:
> Replying to [comment:19 slyfox]:
> > Hardened gentoo patches gcc to default to -fPIC -fPIE -pie. Defaults
there:
> > ...
> > An evil corner case as we use ld for partial linking. Can be an
argument for native
> > fPIE/pie support in ghc.
>
> I'm curious but isn't -split-objs purely static library thing? IMHO it's
not usable for -shared nor -dynamic nor -fPIC etc. Please correct me if
I'm wrong here...
A couple of points here:
- -fPIC is valid for static libraries (it's used for hardening even
statically linked binaries), recent example of accidental fPIC no a static
haskell library: https://ghc.haskell.org/trac/ghc/ticket/10402#comment:14
. It's not necessary but not outright harmful.
- -split-objs used to split .o files into smaller .o files to allow linker
remove unused code.
That unused code can come from:
- external static haskell library (typical case) when linking static
binary, no need to run -spit-objs
- internal static or dynamic haskell library (or binary)
I would say it makes sense to run -split-objs every time object files are
produced. I view it as trick similar to 'gcc -function-sections -fdata-
sections -Wl,--gc-sections'.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9007#comment:22>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list