[GHC] #15446: compiling files in ghci on MacOS eventually results in malformed mach-o: load commands size (32800) > 32768

GHC ghc-devs at haskell.org
Sun Jul 29 02:50:42 UTC 2018


#15446: compiling files in ghci on MacOS eventually results in malformed mach-o:
load commands size (32800) > 32768
-------------------------------+--------------------------------------
        Reporter:  George      |                Owner:  (none)
            Type:  bug         |               Status:  patch
        Priority:  normal      |            Milestone:  8.6.1
       Component:  GHCi        |              Version:  8.4.3
      Resolution:              |             Keywords:
Operating System:  MacOS X     |         Architecture:  x86_64 (amd64)
 Type of failure:  GHCi crash  |            Test Case:
      Blocked By:              |             Blocking:
 Related Tickets:              |  Differential Rev(s):  D5021
       Wiki Page:              |
-------------------------------+--------------------------------------
Changes (by angerman):

 * status:  new => patch
 * differential:   => D5021
 * milestone:   => 8.6.1


Comment:

 If we modify ghc a bit we essentially get:
 {{{
 *** Linker:
 gcc -fno-stack-protector -DTABLES_NEXT_TO_CODE -Wl,-dead_strip_dylibs
 -dynamiclib -o
 /var/folders/fv/xqjrpfj516n5xq_m_ljpsjx00000gn/T/ghc28007_0/libghc_4109.dylib
 c.o -undefined dynamic_lookup -single_module -install_name
 '@rpath/libghc_4109.dylib' -lghc_4104 -lghc_4099 -lghc_4094 -lghc_4089
 -lghc_4084 -lghc_4079 -lghc_4074 -lghc_4069 -lghc_4064 -lghc_4059
 -lghc_4054 -lghc_4049 -lghc_4044 -lghc_4039 -lghc_4034 -lghc_4029
 -lghc_4024 -lghc_4019 -lghc_4014 -lghc_4009 -lghc_4004 -lghc_3999
 -lghc_3994 -lghc_3989 -lghc_3984 -lghc_3979 -lghc_3974 -lghc_3969
 -lghc_3964 -lghc_3959 -lghc_3954 -lghc_3949 -lghc_3944 -lghc_3939
 -lghc_3934 -lghc_3929 -lghc_3924 -lghc_3919 -lghc_3914 -lghc_3909
 -lghc_3904 -lghc_3899 -lghc_3894 -lghc_3889 -lghc_3884 -lghc_3879
 -lghc_3874 -lghc_3869 -lghc_3864 -lghc_3859 -lghc_3854 -lghc_3849
 -lghc_3844 -lghc_3839 -lghc_3834 -lghc_3829 -lghc_3824 -lghc_3819
 -lghc_3814 -lghc_3809 -lghc_3804 -lghc_3799 -lghc_3794 -lghc_3789
 -lghc_3784 -lghc_3779 -lghc_3774 -lghc_3769 -lghc_3764 -lghc_3759
 -lghc_3754 -lghc_3749 -lghc_3744 -lghc_3739 -lghc_3734 -lghc_3729
 -lghc_3724 -lghc_3719 -lghc_3714 -lghc_3709 -lghc_3704 -lghc_3699
 -lghc_3694 -lghc_3689 -lghc_3684 -lghc_3679 -lghc_3674 -lghc_3669
 -lghc_3664 -lghc_3659 -lghc_3654 -lghc_3649 -lghc_3644 -lghc_3639
 -lghc_3634 -lghc_3629 -lghc_3624 -lghc_3619 -lghc_3614 -lghc_3609
 -lghc_3604 -lghc_3599 -lghc_3594 -lghc_3589 -lghc_3584 -lghc_3579
 -lghc_3574 -lghc_3569 -lghc_3564 -lghc_3559 -lghc_3554 -lghc_3549
 -lghc_3544 -lghc_3539 -lghc_3534 -lghc_3529 -lghc_3524 -lghc_3519
 -lghc_3514 -lghc_3509 -lghc_3504 -lghc_3499 -lghc_3494 -lghc_3489
 -lghc_3484 -lghc_3479 -lghc_3474 -lghc_3469 -lghc_3464 -lghc_3459
 -lghc_3454 -lghc_3449 -lghc_3444 -lghc_3439 -lghc_3434 -lghc_3429
 -lghc_3424 -lghc_3419 -lghc_3414 -lghc_3409 -lghc_3404 -lghc_3399
 -lghc_3394 -lghc_3389 -lghc_3384 -lghc_3379 -lghc_3374 -lghc_3369
 -lghc_3364 -lghc_3359 -lghc_3354 -lghc_3349 -lghc_3344 -lghc_3339
 -lghc_3334 -lghc_3329 -lghc_3324 -lghc_3319 -lghc_3314 -lghc_3309
 -lghc_3304 -lghc_3299 -lghc_3294 -lghc_3289 -lghc_3284 -lghc_3279
 -lghc_3274 -lghc_3269 -lghc_3264 -lghc_3259 -lghc_3254 -lghc_3249
 -lghc_3244 -lghc_3239 -lghc_3234 -lghc_3229 -lghc_3224 -lghc_3219
 -lghc_3214 -lghc_3209 -lghc_3204 -lghc_3199 -lghc_3194 -lghc_3189
 -lghc_3184 -lghc_3179 -lghc_3174 -lghc_3169 -lghc_3164 -lghc_3159
 -lghc_3154 -lghc_3149 -lghc_3144 -lghc_3139 -lghc_3134 -lghc_3129
 -lghc_3124 -lghc_3119 -lghc_3114 -lghc_3109 -lghc_3104 -lghc_3099
 -lghc_3094 -lghc_3089 -lghc_3084 -lghc_3079 -lghc_3074 -lghc_3069
 -lghc_3064 -lghc_3059 -lghc_3054 -lghc_3049 -lghc_3044 -lghc_3039
 -lghc_3034 -lghc_3029 -lghc_3024 -lghc_3019 -lghc_3014 -lghc_3009
 -lghc_3004 -lghc_2999 -lghc_2994 -lghc_2989 -lghc_2984 -lghc_2979
 -lghc_2974 -lghc_2969 -lghc_2964 -lghc_2959 -lghc_2954 -lghc_2949
 -lghc_2944 -lghc_2939 -lghc_2934 -lghc_2929 -lghc_2924 -lghc_2919
 -lghc_2914 -lghc_2909 -lghc_2904 -lghc_2899 -lghc_2894 -lghc_2889
 -lghc_2884 -lghc_2879 -lghc_2874 -lghc_2869 -lghc_2864 -lghc_2859
 -lghc_2854 -lghc_2849 -lghc_2844 -lghc_2839 -lghc_2834 -lghc_2829
 -lghc_2824 -lghc_2819 -lghc_2814 -lghc_2809 -lghc_2804 -lghc_2799
 -lghc_2794 -lghc_2789 -lghc_2784 -lghc_2779 -lghc_2774 -lghc_2769
 -lghc_2764 -lghc_2759 -lghc_2754 -lghc_2749 -lghc_2744 -lghc_2739
 -lghc_2734 -lghc_2729 -lghc_2724 -lghc_2719 -lghc_2714 -lghc_2709
 -lghc_2704 -lghc_2699 -lghc_2694 -lghc_2689 -lghc_2684 -lghc_2679
 -lghc_2674 -lghc_2669 -lghc_2664 -lghc_2659 -lghc_2654 -lghc_2649
 -lghc_2644 -lghc_2639 -lghc_2634 -lghc_2629 -lghc_2624 -lghc_2619
 -lghc_2614 -lghc_2609 -lghc_2604 -lghc_2599 -lghc_2594 -lghc_2589
 -lghc_2584 -lghc_2579 -lghc_2574 -lghc_2569 -lghc_2564 -lghc_2559
 -lghc_2554 -lghc_2549 -lghc_2544 -lghc_2539 -lghc_2534 -lghc_2529
 -lghc_2524 -lghc_2519 -lghc_2514 -lghc_2509 -lghc_2504 -lghc_2499
 -lghc_2494 -lghc_2489 -lghc_2484 -lghc_2479 -lghc_2474 -lghc_2469
 -lghc_2464 -lghc_2459 -lghc_2454 -lghc_2449 -lghc_2444 -lghc_2439
 -lghc_2434 -lghc_2429 -lghc_2424 -lghc_2419 -lghc_2414 -lghc_2409
 -lghc_2404 -lghc_2399 -lghc_2394 -lghc_2389 -lghc_2384 -lghc_2379
 -lghc_2374 -lghc_2369 -lghc_2364 -lghc_2359 -lghc_2354 -lghc_2349
 -lghc_2344 -lghc_2339 -lghc_2334 -lghc_2329 -lghc_2324 -lghc_2319
 -lghc_2314 -lghc_2309 -lghc_2304 -lghc_2299 -lghc_2294 -lghc_2289
 -lghc_2284 -lghc_2279 -lghc_2274 -lghc_2269 -lghc_2264 -lghc_2259
 -lghc_2254 -lghc_2249 -lghc_2244 -lghc_2239 -lghc_2234 -lghc_2229
 -lghc_2224 -lghc_2219 -lghc_2214 -lghc_2209 -lghc_2204 -lghc_2199
 -lghc_2194 -lghc_2189 -lghc_2184 -lghc_2179 -lghc_2174 -lghc_2169
 -lghc_2164 -lghc_2159 -lghc_2154 -lghc_2149 -lghc_2144 -lghc_2139
 -lghc_2134 -lghc_2129 -lghc_2124 -lghc_2119 -lghc_2114 -lghc_2109
 -lghc_2104 -lghc_2099 -lghc_2094 -lghc_2089 -lghc_2084 -lghc_2079
 -lghc_2074 -lghc_2069 -lghc_2064 -lghc_2059 -lghc_2054 -lghc_2049
 -lghc_2044 -lghc_2039 -lghc_2034 -lghc_2029 -lghc_2024 -lghc_2019
 -lghc_2014 -lghc_2009 -lghc_2004 -lghc_1999 -lghc_1994 -lghc_1989
 -lghc_1984 -lghc_1979 -lghc_1974 -lghc_1969 -lghc_1964 -lghc_1959
 -lghc_1954 -lghc_1949 -lghc_1944 -lghc_1939 -lghc_1934 -lghc_1929
 -lghc_1924 -lghc_1919 -lghc_1914 -lghc_1909 -lghc_1904 -lghc_1899
 -lghc_1894 -lghc_1889 -lghc_1884 -lghc_1879 -lghc_1874 -lghc_1869
 -lghc_1864 -lghc_1859 -lghc_1854 -lghc_1849 -lghc_1844 -lghc_1839
 -lghc_1834 -lghc_1829 -lghc_1824 -lghc_1819 -lghc_1814 -lghc_1809
 -lghc_1804 -lghc_1799 -lghc_1794 -lghc_1789 -lghc_1784 -lghc_1779
 -lghc_1774 -lghc_1769 -lghc_1764 -lghc_1759 -lghc_1754 -lghc_1749
 -lghc_1744 -lghc_1739 -lghc_1734 -lghc_1729 -lghc_1724 -lghc_1719
 -lghc_1714 -lghc_1709 -lghc_1704 -lghc_1699 -lghc_1694 -lghc_1689
 -lghc_1684 -lghc_1679 -lghc_1674 -lghc_1669 -lghc_1664 -lghc_1659
 -lghc_1654 -lghc_1649 -lghc_1644 -lghc_1639 -lghc_1634 -lghc_1629
 -lghc_1624 -lghc_1619 -lghc_1614 -lghc_1609 -lghc_1604 -lghc_1599
 -lghc_1594 -lghc_1589 -lghc_1584 -lghc_1579 -lghc_1574 -lghc_1569
 -lghc_1564 -lghc_1559 -lghc_1554 -lghc_1549 -lghc_1544 -lghc_1539
 -lghc_1534 -lghc_1529 -lghc_1524 -lghc_1519 -lghc_1514 -lghc_1509
 -lghc_1504 -lghc_1499 -lghc_1494 -lghc_1489 -lghc_1484 -lghc_1479
 -lghc_1474 -lghc_1469 -lghc_1464 -lghc_1459 -lghc_1454 -lghc_1449
 -lghc_1444 -lghc_1439 -lghc_1434 -lghc_1429 -lghc_1424 -lghc_1419
 -lghc_1414 -lghc_1409 -lghc_1404 -lghc_1399 -lghc_1394 -lghc_1389
 -lghc_1384 -lghc_1379 -lghc_1374 -lghc_1369 -lghc_1364 -lghc_1359
 -lghc_1354 -lghc_1349 -lghc_1344 -lghc_1339 -lghc_1334 -lghc_1329
 -lghc_1324 -lghc_1319 -lghc_1314 -lghc_1309 -lghc_1304 -lghc_1299
 -lghc_1294 -lghc_1289 -lghc_1284 -lghc_1279 -lghc_1274 -lghc_1269
 -lghc_1264 -lghc_1259 -lghc_1254 -lghc_1249 -lghc_1244 -lghc_1239
 -lghc_1234 -lghc_1229 -lghc_1224 -lghc_1219 -lghc_1214 -lghc_1209
 -lghc_1204 -lghc_1199 -lghc_1194 -lghc_1189 -lghc_1184 -lghc_1179
 -lghc_1174 -lghc_1169 -lghc_1164 -lghc_1159 -lghc_1154 -lghc_1149
 -lghc_1144 -lghc_1139 -lghc_1134 -lghc_1129 -lghc_1124 -lghc_1119
 -lghc_1114 -lghc_1109 -lghc_1104 -lghc_1099 -lghc_1094 -lghc_1089
 -lghc_1084 -lghc_1079 -lghc_1074 -lghc_1069 -lghc_1064 -lghc_1059
 -lghc_1054 -lghc_1049 -lghc_1044 -lghc_1039 -lghc_1034 -lghc_1029
 -lghc_1024 -lghc_1019 -lghc_1014 -lghc_1009 -lghc_1004 -lghc_999 -lghc_994
 -lghc_989 -lghc_984 -lghc_979 -lghc_974 -lghc_969 -lghc_964 -lghc_959
 -lghc_954 -lghc_949 -lghc_944 -lghc_939 -lghc_934 -lghc_929 -lghc_924
 -lghc_919 -lghc_914 -lghc_909 -lghc_904 -lghc_899 -lghc_894 -lghc_889
 -lghc_884 -lghc_879 -lghc_874 -lghc_869 -lghc_864 -lghc_859 -lghc_854
 -lghc_849 -lghc_844 -lghc_839 -lghc_834 -lghc_829 -lghc_824 -lghc_819
 -lghc_814 -lghc_809 -lghc_804 -lghc_799 -lghc_794 -lghc_789 -lghc_784
 -lghc_779 -lghc_774 -lghc_769 -lghc_764 -lghc_759 -lghc_754 -lghc_749
 -lghc_744 -lghc_739 -lghc_734 -lghc_729 -lghc_724 -lghc_719 -lghc_714
 -lghc_709 -lghc_704 -lghc_699 -lghc_694 -lghc_689 -lghc_684 -lghc_679
 -lghc_674 -lghc_669 -lghc_664 -lghc_659 -lghc_654 -lghc_649 -lghc_644
 -lghc_639 -lghc_634 -lghc_629 -lghc_624 -lghc_619 -lghc_614 -lghc_609
 -lghc_604 -lghc_599 -lghc_594 -lghc_589 -lghc_584 -lghc_579 -lghc_574
 -lghc_569 -lghc_564 -lghc_559 -lghc_554 -lghc_549 -lghc_544 -lghc_539
 -lghc_534 -lghc_529 -lghc_524 -lghc_519 -lghc_514 -lghc_509 -lghc_504
 -lghc_499 -lghc_494 -lghc_489 -lghc_484 -lghc_479 -lghc_474 -lghc_469
 -lghc_464 -lghc_459 -lghc_454 -lghc_449 -lghc_444 -lghc_439 -lghc_434
 -lghc_429 -lghc_424 -lghc_419 -lghc_414 -lghc_409 -lghc_404 -lghc_399
 -lghc_394 -lghc_389 -lghc_384 -lghc_379 -lghc_374 -lghc_369 -lghc_364
 -lghc_359 -lghc_354 -lghc_349 -lghc_344 -lghc_339 -lghc_334 -lghc_329
 -lghc_324 -lghc_319 -lghc_314 -lghc_309 -lghc_304 -lghc_299 -lghc_294
 -lghc_289 -lghc_284 -lghc_279 -lghc_274 -lghc_269 -lghc_264 -lghc_259
 -lghc_254 -lghc_249 -lghc_244 -lghc_239 -lghc_234 -lghc_229 -lghc_224
 -lghc_219 -lghc_214 -lghc_209 -lghc_204 -lghc_199 -lghc_194 -lghc_189
 -lghc_184 -lghc_179 -lghc_174 -lghc_169 -lghc_164 -lghc_159 -lghc_154
 -lghc_149 -lghc_144 -lghc_139 -lghc_134 -lghc_129 -lghc_124 -lghc_119
 -lghc_114 -lghc_109 -lghc_104 -lghc_99 -lghc_94 -lghc_89 -lghc_84 -lghc_79
 -lghc_74 -lghc_69 -lghc_64 -lghc_59 -lghc_54 -lghc_49 -lghc_44 -lghc_39
 -lghc_34 -lghc_29 -lghc_24 -lghc_19 -lghc_14 -lghc_9 -lghc_4
 -L/var/folders/fv/xqjrpfj516n5xq_m_ljpsjx00000gn/T/ghc28007_0 -Xlinker
 -rpath -Xlinker
 /var/folders/fv/xqjrpfj516n5xq_m_ljpsjx00000gn/T/ghc28007_0
 -L/Users/angerman/Projects/zw3rk/ghc/libraries/base/dist-install/build
 -Xlinker -rpath -Xlinker /Users/angerman/Projects/zw3rk/ghc/libraries/base
 /dist-install/build -L/Users/angerman/Projects/zw3rk/ghc/libraries
 /integer-gmp/dist-install/build -Xlinker -rpath -Xlinker
 /Users/angerman/Projects/zw3rk/ghc/libraries/integer-gmp/dist-
 install/build -L/Users/angerman/Projects/zw3rk/ghc/libraries/ghc-prim
 /dist-install/build -Xlinker -rpath -Xlinker
 /Users/angerman/Projects/zw3rk/ghc/libraries/ghc-prim/dist-install/build
 -L/p/zw3rk/ghc/rts/dist/build -Xlinker -rpath -Xlinker
 /p/zw3rk/ghc/rts/dist/build -lHSbase-4.12.0.0-ghc8.7.20180728 -lHSinteger-
 gmp-1.0.2.0-ghc8.7.20180728 -lHSghc-prim-0.5.3-ghc8.7.20180728 -liconv
 -lgmp -Wl,-dead_strip_dylibs
 6
 Prelude Main> Prelude Main> Prelude Main> Leaving GHCi.
 }}}
 at the end of a slightly modified invocation:
 {{{
 ghc/inplace/bin/ghc-stage2 --interactive -keep-tmp-files -ignore-dot-ghci
 -fobject-code -v3 -optl-Wl,-dead_strip_dylibs < ghci.sh >& ghci.out &
 }}}
 and otool shows:
 {{{
 otool -L
 /var/folders/fv/xqjrpfj516n5xq_m_ljpsjx00000gn/T/ghc28007_0/libghc_4109.dylib
 /var/folders/fv/xqjrpfj516n5xq_m_ljpsjx00000gn/T/ghc28007_0/libghc_4109.dylib:
         @rpath/libghc_4109.dylib (compatibility version 0.0.0, current
 version 0.0.0)
         @rpath/libHSbase-4.12.0.0-ghc8.7.20180728.dylib (compatibility
 version 0.0.0, current version 0.0.0)
         @rpath/libHSghc-prim-0.5.3-ghc8.7.20180728.dylib (compatibility
 version 0.0.0, current version 0.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1238.60.2)
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15446#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list