[GHC] #11758: Drop x86_64 binutils <2.17 hack
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1-rc2 (NCG) | Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- `X86.CodeGen.genSwitch` contains this comment, {{{ else -- HACK: On x86_64 binutils<2.17 is only able to generate -- PC32 relocations, hence we only get 32-bit offsets in -- the jump table. As these offsets are always negative -- we need to properly sign extend them to 64-bit. This -- hack should be removed in conjunction with the hack in -- PprMach.hs/pprDataItem once binutils 2.17 is standard. }}} binutils 2.17 is now quite standard; even CentOS 5 shipped with 2.17. I think it is likely safe to remove this hack at this point. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by thomie): * keywords: => newcomer Comment: In https://phabricator.haskell.org/D1242#37057, kgardas says: W.r.t binutils < 2.17 I just signal that Solaris is using 2.23 and OpenBSD/amd64 is using 2.17 -- so from those two platforms it's safe to remove mentioned hack. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by avd): * owner: => avd -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by rwbarton): This hack is responsible for #12433. However, there is also perhaps an argument for taking advantage of the small code model where possible to generate jump tables of half the size. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Changes (by avd): * differential: => Phab:D2426 * related: => 12433 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: fixed | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => closed * resolution: => fixed Comment: Merged in e3e2e49a8f6952e1c8a19321c729c17b294d8c92. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: fixed | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): This patch made the ghc-stage2 compiler seg-fault, on 64-bit Windos. It seg-faults when doing anything -- compiling `HelloWorld.hs` or even `ghc --version`. It took me a full day of bisection to find this. Very painful. It would be so great if we had continuous-integration on Windows going. I hate playing the role of Windows test engine. Anyway, here's the revert patch. Would someone like to work out what is going on, and re-apply when fixed? {{{ commit b2c5e4ce5c44a7be7c2b81c2600cae40c5b225ad Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Thu Aug 18 18:16:01 2016 +0100 Revert "codeGen: Remove binutils<2.17 hack, fixes T11758" This reverts commit e3e2e49a8f6952e1c8a19321c729c17b294d8c92. I'm reverting because it makes ghc-stage2 seg-fault on 64-bit Windows machines. Even ghc-stage2 --version seg-faults. compiler/nativeGen/X86/CodeGen.hs | 15 ++++++++++++++- compiler/nativeGen/X86/Ppr.hs | 23 +++++++++++++++++++++-- includes/rts/storage/InfoTables.h | 11 +++++++++++ 3 files changed, 46 insertions(+), 3 deletions(-) }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: fixed | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Could perhaps be the cause of #12501? -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:7> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: fixed | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Comment (by avd): I would like to work on this, but I will need some time to setup Windows build (mingw and stuff). I guess, while the patch is reverted, I can work on this without rush - is that right? Also, should this be tested on other 64 bit systems like Solaris and *BSD? Are there any resources/workflow? -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Changes (by Phyx-): * cc: Phyx- (added) * status: closed => new * resolution: fixed => * owner: avd => Comment: Yes while it's reverted there's no rush. Usually if you don't have a distribution set up you can just ask someone to test it for you. If there's no issues then you save the time having to set up those distros. Let me know if you need any help setting up a Windows build. I also have a powershell script that would automate the entire thing if you want. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:9> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Changes (by Phyx-): * owner: => avd -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:10> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * cc: RyanGlScott (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:11> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: duplicate | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 12433, 2725 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Changes (by avd): * status: new => closed * resolution: => duplicate * related: 12433 => 12433, 2725 Comment: This ticket is a duplicate of #2725. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:12> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11758: Drop x86_64 binutils <2.17 hack -------------------------------------+------------------------------------- Reporter: bgamari | Owner: avd Type: task | Status: closed Priority: normal | Milestone: 8.2.1 Component: Compiler (NCG) | Version: 8.0.1-rc2 Resolution: duplicate | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #12433, #2725 | Differential Rev(s): Phab:D2426 Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * related: 12433, 2725 => #12433, #2725 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11758#comment:13> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC