Ticket #96: ghc-no-omit-lfp.2.patch
| File ghc-no-omit-lfp.2.patch, 1.8 KB (added by jenglish, 11 years ago) |
|---|
-
mk/bootstrap.mk
old new 27 27 28 28 ifeq "$(i386_TARGET_ARCH)" "1" 29 29 PLATFORM_CC_OPTS += -DDONT_WANT_WIN32_DLL_SUPPORT 30 PLATFORM_HC_BOOT_CC_OPTS += -fno-defer-pop -fomit-frame-pointer 30 PLATFORM_HC_BOOT_CC_OPTS += -fno-defer-pop -fomit-frame-pointer -mno-omit-leaf-frame-pointer 31 31 endif 32 32 33 33 ifeq "$(hppa_TARGET_ARCH)" "1" -
mk/config.mk.in
old new 309 309 310 310 # For an optimised RTS: 311 311 GhcRtsHcOpts=-O2 312 GhcRtsCcOpts=-fomit-frame-pointer 312 GhcRtsCcOpts=-fomit-frame-pointer -mno-omit-leaf-frame-pointer 313 313 314 314 # Include the front panel code? Needs GTK+. 315 315 GhcRtsWithFrontPanel = NO -
ghc/compiler/main/DriverFlags.hs
old new 562 562 -- 563 563 -- -fomit-frame-pointer : *must* in .hc files; because we're stealing 564 564 -- the fp (%ebp) for our register maps. 565 -- 566 -- -mno-omit-leaf-frame-pointer: -momit-leaf-frame-pointer 567 -- takes precedence over -fomit-frame-pointer. gcc-3.2mdk 568 -- turns it on by default, so we have to turn it off. 569 -- 565 570 = do n_regs <- dynFlag stolen_x86_regs 566 571 sta <- readIORef v_Static 567 572 return ( [ if sta then "-DDONT_WANT_WIN32_DLL_SUPPORT" else "" 568 573 -- , if suffixMatch "mingw32" cTARGETPLATFORM then "-mno-cygwin" else "" 569 574 ], 570 575 [ "-fno-defer-pop", "-fomit-frame-pointer", 576 "-mno-omit-leaf-frame-pointer", 571 577 -- we want -fno-builtin, because when gcc inlines 572 578 -- built-in functions like memcpy() it tends to 573 579 -- run out of registers, requiring -monly-n-regs
