[GHC] #13624: loadObj() does not respect alignment
GHC
ghc-devs at haskell.org
Mon Jan 21 14:35:45 UTC 2019
#13624: loadObj() does not respect alignment
-------------------------------------+-------------------------------------
Reporter: tmcdonell | Owner: (none)
Type: bug | Status: new
Priority: high | Milestone: 8.10.1
Component: Runtime System | Version: 8.0.1
(Linker) | Keywords: linker,
Resolution: | newcomer
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Runtime crash | Test Case:
Blocked By: | Blocking: 8949
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by artempyanykh):
FWIW, `map.ll` needs to be compiled with `-mcpu=sandybridge`. Otherwise on
Haswell the compiler emits `vbroadcastss` instead of `vmovaps` and the
issue doesn't manifest itself.
-----
I'm currently figuring out Mach-O part. I've adjusted section placement on
x86_64 analogous to aarch64, but it's not enough as current x86_64
relocation code works directly with macho_sections. I need to take a
closer look at it.
I have concerns re: allocating a page per section. It seems feasible do
some prep work before `ocGetNames` to calculate the size of future r-x
segment and rw- segment and exact placement of sections inside the mmaped
areas (although, currently not sure about subsequent changes to
mprotecting and unloading code).
Oh, and If somebody's already working on this, please let me know :)
----
One question, if I may. Moritz, for iOS you use regular `mmap` instead of
`mmapForLinker`. I don't know much about ARM and wonder if allocating in
low 2GB is not necessary there?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13624#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list