[GHC] #8300: split-objs doesn't split on LLVM

#8300: split-objs doesn't split on LLVM ------------------------------------+------------------------------------- Reporter: rwbarton | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 7.7 Keywords: | Operating System: Unknown/Multiple Architecture: Unknown/Multiple | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | ------------------------------------+------------------------------------- `-split-objs` is allowed with `-fllvm`, but it doesn't really do anything. E.g. in my perf-llvm build I have a `libHSbase-4.7.0.0.a` with `Applicative__1.o`, `Arrow__1.o` etc. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8300 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8300: split-objs doesn't split on LLVM -------------------------------------+------------------------------------ Reporter: rwbarton | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by rwbarton): Couldn't we implement this, as well as tables-next-to-code, by telling LLVM to put each symbol (table or code) in its own section and then using a linker script to slice and dice the symbols into object files as desired? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8300#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8300: split-objs doesn't split on LLVM -------------------------------------+------------------------------------ Reporter: rwbarton | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by rwbarton): Hmm, I see 1f9ca81cff59ed6c0078437a992f40c13d2667c7 from Nov 2011 is apparently supposed to implement this, but it doesn't seem to work any more, if it ever did. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8300#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8300: split-objs doesn't split on LLVM ----------------------------+---------------------------------------------- Reporter: | Owner: rwbarton | Status: new Type: feature | Milestone: request | Version: 7.7 Priority: normal | Keywords: Component: | Architecture: Unknown/Multiple Compiler (LLVM) | Difficulty: Moderate (less than a day) Resolution: | Blocked By: Operating System: | Related Tickets: Unknown/Multiple | Type of failure: | None/Unknown | Test Case: | Blocking: | ----------------------------+---------------------------------------------- Changes (by ezyang): * difficulty: Unknown => Moderate (less than a day) Comment: The reason is the splitter needs 'split markers' (stg_split_marker) to know where to split, and at the moment, these markers are only emitted by the native backend. However, I imagine it would not be too difficult to teach the LLVM backend how to do it. You'd have another barrier, however; the splitter needs to be taught how to read LLVM code, in much the same way it needs to be taught how to read code for different architectures. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8300#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8300: split-objs doesn't split on LLVM -------------------------------------+------------------------------------- Reporter: rwbarton | Owner: Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 7.7 Resolution: wontfix | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: 8629 Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => closed * resolution: => wontfix Comment: Given that functions sections are now implemented (see #8405) and support by LLVM, I'll mark this as won't-fix. If you, the reader, find yourself still wanting this feature for some reason feel free to reopen. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8300#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC