From 7c5506e9b8eb7632063122bcb9d63ad58cb0cb10cf7a7d47beb3fd48cbd5b887 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Wed, 14 Nov 2007 18:57:50 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc?expand=0&rev=30 --- toplevel-reorder.patch | 263 ----------------------------------------- 1 file changed, 263 deletions(-) delete mode 100644 toplevel-reorder.patch diff --git a/toplevel-reorder.patch b/toplevel-reorder.patch deleted file mode 100644 index 62fbd6c..0000000 --- a/toplevel-reorder.patch +++ /dev/null @@ -1,263 +0,0 @@ ---- ./distrib/configure-bin.ac.orig 2007-04-25 19:10:40.000000000 +0200 -+++ ./distrib/configure-bin.ac 2007-09-03 15:18:46.000000000 +0200 -@@ -139,7 +139,13 @@ - AC_PROG_CPP - - # --AC_OUTPUT(Makefile) -+dnl ** Check gcc version and flags we need to pass it ** -+# -+FP_GCC_EXTRA_FLAGS -+ -+# -+AC_CONFIG_FILES(Makefile extra-gcc-opts) -+AC_OUTPUT - - echo "****************************************************" - echo "Configuration done, ready to either 'make install'" ---- ./compiler/main/DriverPipeline.hs.orig 2007-04-25 19:10:40.000000000 +0200 -+++ ./compiler/main/DriverPipeline.hs 2007-09-03 15:13:00.000000000 +0200 -@@ -815,6 +815,7 @@ - (cmdline_include_paths ++ pkg_include_dirs) - - let (md_c_flags, md_regd_c_flags) = machdepCCOpts dflags -+ gcc_extra_viac_flags <- getExtraViaCOpts dflags - let pic_c_flags = picCCOpts dflags - - let verb = getVerbFlag dflags -@@ -881,6 +882,13 @@ - ++ (if hcc && mangle - then md_regd_c_flags - else []) -+ ++ (if hcc -+ then if mangle -+ then gcc_extra_viac_flags -+ else filter (=="-fwrapv") -+ gcc_extra_viac_flags -+ -- still want -fwrapv even for unreg'd -+ else []) - ++ (if hcc - then more_hcc_opts - else []) -@@ -890,10 +898,6 @@ - ++ split_opt - ++ include_paths - ++ pkg_extra_cc_opts --#ifdef HAVE_GCC_HAS_WRAPV -- -- We need consistent integer overflow (trac #952) -- ++ ["-fwrapv"] --#endif - )) - - return (next_phase, dflags, maybe_loc, output_fn) ---- ./compiler/main/DynFlags.hs.orig 2007-04-25 19:10:39.000000000 +0200 -+++ ./compiler/main/DynFlags.hs 2007-09-03 15:13:00.000000000 +0200 -@@ -1243,6 +1243,18 @@ - ----------------------------------------------------------------------------- - -- Via-C compilation stuff - -+-- There are some options that we need to pass to gcc when compiling -+-- Haskell code via C, but are only supported by recent versions of -+-- gcc. The configure script decides which of these options we need, -+-- and puts them in the file "extra-gcc-opts" in $topdir, which is -+-- read before each via-C compilation. The advantage of having these -+-- in a separate file is that the file can be created at install-time -+-- depending on the available gcc version, and even re-generated later -+-- if gcc is upgraded. -+-- -+-- The options below are not dependent on the version of gcc, only the -+-- platform. -+ - machdepCCOpts :: DynFlags -> ([String], -- flags for all C compilations - [String]) -- for registerised HC compilations - machdepCCOpts dflags -@@ -1285,20 +1297,6 @@ - -- , if suffixMatch "mingw32" cTARGETPLATFORM then "-mno-cygwin" else "" - ], - [ "-fno-defer-pop", --#ifdef HAVE_GCC_MNO_OMIT_LFPTR -- -- Some gccs are configured with -- -- -momit-leaf-frame-pointer on by default, and it -- -- apparently takes precedence over -- -- -fomit-frame-pointer, so we disable it first here. -- "-mno-omit-leaf-frame-pointer", --#endif --#ifdef HAVE_GCC_HAS_NO_UNIT_AT_A_TIME -- "-fno-unit-at-a-time", -- -- unit-at-a-time doesn't do us any good, and screws -- -- up -split-objs by moving the split markers around. -- -- It's only turned on with -O2, but put it here just -- -- in case someone uses -optc-O2. --#endif - "-fomit-frame-pointer", - -- we want -fno-builtin, because when gcc inlines - -- built-in functions like memcpy() it tends to -@@ -1317,13 +1315,6 @@ - -- and get in the way of -split-objs. Another option - -- would be to throw them away in the mangler, but this - -- is easier. --#ifdef HAVE_GCC_HAS_NO_UNIT_AT_A_TIME -- "-fno-unit-at-a-time", -- -- unit-at-a-time doesn't do us any good, and screws -- -- up -split-objs by moving the split markers around. -- -- It's only turned on with -O2, but put it here just -- -- in case someone uses -optc-O2. --#endif - "-fno-builtin" - -- calling builtins like strlen() using the FFI can - -- cause gcc to run out of regs, so use the external ---- ./compiler/main/SysTools.lhs.orig 2007-04-25 19:10:41.000000000 +0200 -+++ ./compiler/main/SysTools.lhs 2007-09-03 15:13:00.000000000 +0200 -@@ -22,6 +22,7 @@ - copy, - copyWithHeader, - normalisePath, -- FilePath -> FilePath -+ getExtraViaCOpts, - - -- Temporary-file management - setTmpDir, -@@ -518,6 +519,10 @@ - hPutStr h ls - hClose h - -+getExtraViaCOpts :: DynFlags -> IO [String] -+getExtraViaCOpts dflags = do -+ f <- readFile (topDir dflags `joinFileName` "extra-gcc-opts") -+ return (words f) - \end{code} - - %************************************************************************ ---- ./aclocal.m4.orig 2007-04-25 19:10:41.000000000 +0200 -+++ ./aclocal.m4 2007-09-03 15:13:00.000000000 +0200 -@@ -922,45 +922,47 @@ - ])# FP_GHC_HAS_READLINE - - --# FP_GCC_NEEDS_NO_OMIT_LFPTR --# -------------------------- -+# FP_GCC_EXTRA_FLAGS -+# ------------------ -+# Determine which extra flags we need to pass gcc when we invoke it -+# to compile .hc code. -+# - # Some OSs (Mandrake Linux, in particular) configure GCC with --# -momit-leaf-frame-pointer on by default. If this is the case, we need to turn --# it off for mangling to work. The test is currently a bit crude, using only the --# version number of gcc. Defines HAVE_GCC_MNO_OMIT_LFPTR. --AC_DEFUN([FP_GCC_NEEDS_NO_OMIT_LFPTR], -+# -momit-leaf-frame-pointer on by default. If this is the case, we -+# need to turn it off for mangling to work. The test is currently a -+# bit crude, using only the version number of gcc. -+# -+# -fwrapv is needed for gcc to emit well-behaved code in the presence of -+# integer wrap around. (Trac #952) -+# -+# -fno-unit-at-a-time or -fno-toplevel-reoder is necessary to avoid gcc -+# reordering things in the module and confusing the manger and/or splitter. -+# (eg. Trac #1427) -+# -+AC_DEFUN([FP_GCC_EXTRA_FLAGS], - [AC_REQUIRE([FP_HAVE_GCC]) --AC_CACHE_CHECK([whether gcc needs -mno-omit-leaf-frame-pointer], [fp_cv_gcc_needs_no_omit_lfptr], --[FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.2], -- [fp_cv_gcc_needs_no_omit_lfptr=yes], -- [fp_cv_gcc_needs_no_omit_lfptr=no])]) --if test "$fp_cv_gcc_needs_no_omit_lfptr" = "yes"; then -- AC_DEFINE([HAVE_GCC_MNO_OMIT_LFPTR], [1], [Define to 1 if gcc supports -mno-omit-leaf-frame-pointer.]) --fi])# FP_GCC_NEEDS_NO_OMIT_LFPTR -- --# FP_GCC_HAS_NO_UNIT_AT_A_TIME --# -------------------------- --AC_DEFUN([FP_GCC_HAS_NO_UNIT_AT_A_TIME], --[AC_REQUIRE([FP_HAVE_GCC]) --AC_CACHE_CHECK([whether gcc has -fno-unit-at-a-time], [fp_cv_gcc_has_no_unit_at_a_time], --[FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.4], -- [fp_cv_gcc_has_no_unit_at_a_time=yes], -- [fp_cv_gcc_has_no_unit_at_a_time=no])]) --if test "$fp_cv_gcc_has_no_unit_at_a_time" = "yes"; then -- AC_DEFINE([HAVE_GCC_HAS_NO_UNIT_AT_A_TIME], [1], [Define to 1 if gcc supports -fno-unit-at-a-time.]) --fi]) -- --# FP_GCC_HAS_WRAPV --# -------------------------- --AC_DEFUN([FP_GCC_HAS_WRAPV], --[AC_REQUIRE([FP_HAVE_GCC]) --AC_CACHE_CHECK([whether gcc has -fwrapv], [fp_cv_gcc_has_wrapv], --[FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.4], -- [fp_cv_gcc_has_wrapv=yes], -- [fp_cv_gcc_has_wrapv=no])]) --if test "$fp_cv_gcc_has_wrapv" = "yes"; then -- AC_DEFINE([HAVE_GCC_HAS_WRAPV], [1], [Define to 1 if gcc supports -fwrapv.]) --fi]) -+AC_CACHE_CHECK([for extra options to pass gcc when compiling via C], [fp_cv_gcc_extra_opts], -+[fp_cv_gcc_extra_opts= -+ FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.4], -+ [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -fwrapv"], -+ []) -+ case $TargetPlatform in -+ i386-*|x86_64-*) -+ FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.2], -+ [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -mno-omit-leaf-frame-pointer"], -+ []) -+ FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [3.4], -+ [FP_COMPARE_VERSIONS([$fp_gcc_version], [-ge], [4.2], -+ [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -fno-toplevel-reorder"], -+ [fp_cv_gcc_extra_opts="$fp_cv_gcc_extra_opts -fno-unit-at-a-time"] -+ )], -+ []) -+ ;; -+ esac -+]) -+AC_SUBST([GccExtraViaCOpts],$fp_cv_gcc_extra_opts) -+]) -+ - - # FP_SETUP_PROJECT_VERSION - # --------------------- ---- ./configure.ac.orig 2007-04-25 19:10:41.000000000 +0200 -+++ ./configure.ac 2007-09-03 15:13:00.000000000 +0200 -@@ -909,9 +909,7 @@ - dnl - FP_HAVE_GCC - FP_MINGW_GCC --FP_GCC_NEEDS_NO_OMIT_LFPTR --FP_GCC_HAS_NO_UNIT_AT_A_TIME --FP_GCC_HAS_WRAPV -+FP_GCC_EXTRA_FLAGS - - dnl ** figure out how to invoke cpp directly (gcc -E is no good) - AC_PROG_CPP -@@ -1251,6 +1249,6 @@ - fi - AC_SUBST([GTK_CONFIG]) - --AC_CONFIG_FILES([mk/config.mk ghc.spec docs/users_guide/ug-book.xml]) -+AC_CONFIG_FILES([mk/config.mk ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml]) - AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h]) - AC_OUTPUT ---- ./Makefile.orig 2007-04-25 19:10:41.000000000 +0200 -+++ ./Makefile 2007-09-03 15:17:11.000000000 +0200 -@@ -171,6 +171,11 @@ - endif - endif - -+# Install gcc-extra-opts -+install :: -+ @$(INSTALL_DIR) $(libdir) -+ $(INSTALL_DATA) $(INSTALL_OPTS) extra-gcc-opts $(libdir) -+ - install-docs :: - @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \ - for i in $(SUBDIRS); do \ -@@ -232,6 +237,7 @@ - LICENSE \ - utils/mkdirhier/mkdirhier \ - install-sh \ -+ extra-gcc-opts.in \ - config.guess \ - config.sub \ - aclocal.m4 ---- ./extra-gcc-opts.in.orig 2007-09-03 15:55:59.000000000 +0200 -+++ ./extra-gcc-opts.in 2007-09-03 15:13:00.000000000 +0200 -@@ -0,0 +1 @@ -+@GccExtraViaCOpts@