Compare commits

...

3 Commits
master ... f20

Author SHA1 Message Date
Jens Petersen 61fc08e4d3 fix segfault on i686 when using ffi double-mapping for selinux (#907515)
see http://hackage.haskell.org/trac/ghc/ticket/7629
thanks Garrett Mitchener for patch committed upstream
2014-01-29 13:03:47 +09:00
Jens Petersen 08c5539696 enable debuginfo; production build again 2013-10-30 00:28:51 +09:00
Jens Petersen 56bcb63ca2 bootstrap build to fix rts hang on 64bit bigendian archs
patch provided by Gustavo Luiz Duarte (#989593)
2013-10-29 17:27:43 +09:00
3 changed files with 58 additions and 13 deletions

View File

@ -0,0 +1,11 @@
--- a/rts/STM.c
+++ b/rts/STM.c
@@ -927,7 +927,7 @@ void stmPreGCHook (Capability *cap) {
static volatile StgInt64 max_commits = 0;
#if defined(THREADED_RTS)
-static volatile StgBool token_locked = FALSE;
+static volatile StgWord token_locked = FALSE;
static void getTokenBatch(Capability *cap) {
while (cas((void *)&token_locked, FALSE, TRUE) == TRUE) { /* nothing */ }

View File

@ -0,0 +1,11 @@
Index: rts/Adjustor.c
===================================================================
--- rts/Adjustor.c (revision c2870706b29c24ac86ae2a9e2359dd1e4af71ac8)
+++ rts/Adjustor.c (revision 27cf625ab871f34434d9fe86cecf85a31f73f0e5)
@@ -390,5 +390,5 @@
adjustorStub->call[0] = 0xe8;
- *(long*)&adjustorStub->call[1] = ((char*)&adjustorCode) - ((char*)adjustorStub + 5);
+ *(long*)&adjustorStub->call[1] = ((char*)&adjustorCode) - ((char*)code + 5);
adjustorStub->hptr = hptr;
adjustorStub->wptr = wptr;

View File

@ -3,21 +3,17 @@
# To bootstrap build a new version of ghc, uncomment the following:
#%%global ghc_bootstrapping 1
#%%global without_testsuite 1
### either:
#%%{?ghc_bootstrap}
#%%global without_testsuite 1
#%%global without_haddock 1
# To do a test build instead with shared libs, uncomment the following:
#%%global ghc_bootstrapping 1
### or for shared libs:
#%%{?ghc_test}
#%%global without_testsuite 1
### uncomment to generate haddocks for bootstrap
#%%undefine without_haddock
# unregisterized archs
%global unregisterised_archs ppc64 s390 s390x
# ghc does not output dwarf format so debuginfo is not useful
%global debug_package %{nil}
%global space %(echo -n ' ')
%global BSDHaskellReport BSD%{space}and%{space}HaskellReport
@ -29,7 +25,7 @@ Version: 7.6.3
# - release can only be reset if *all* library versions get bumped simultaneously
# (sometimes after a major release)
# - minor release numbers for a branch should be incremented monotonically
Release: 18%{?dist}
Release: 18.3%{?dist}
Summary: Glasgow Haskell Compiler
License: %BSDHaskellReport
@ -54,6 +50,10 @@ Patch12: ghc-7.4.2-Cabal-disable-ghci-libs.patch
Patch13: ghc-llvmCodeGen-empty-array.patch
# stop warnings about unsupported version of llvm
Patch14: ghc-7.6.3-LlvmCodeGen-no-3.3-warning.patch
# fix hang on ppc64 and s390x
Patch15: ghc-64bit-bigendian-rts-hang-989593.patch
# fix libffi segfaults on 32bit
Patch17: ghc-7.6.3-rts-Adjustor-32bit-segfault.patch
# fedora ghc has been bootstrapped on
# %{ix86} x86_64 ppc alpha sparcv9 ppc64 armv7hl armv5tel s390 s390x
@ -133,8 +133,9 @@ Requires: llvm >= 3.0
%description compiler
The package contains the GHC compiler, tools and utilities.
The ghc libraries are provided by ghc-devel.
To install all of ghc, install the ghc base package.
The ghc libraries are provided by ghc-libraries.
To install all of ghc (including the ghc library),
install the main ghc package.
%if %{undefined without_haddock}
%package doc-index
@ -234,6 +235,12 @@ ln -s $(pkg-config --variable=includedir libffi)/*.h rts/dist/build
%patch14 -p1 -b .orig
%endif
%ifarch ppc64 s390x
%patch15 -p1 -b .orig
%endif
%patch17 -p0 -b .orig
%build
# http://hackage.haskell.org/trac/ghc/wiki/Platforms
@ -264,7 +271,8 @@ export CFLAGS="${CFLAGS:-%optflags}"
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
--with-gcc=%{_bindir}/gcc
make %{?_smp_mflags}
# utf8 is needed when building with verbose output
LANG=en_US.utf8 make %{?_smp_mflags}
%install
@ -446,6 +454,21 @@ fi
%changelog
* Wed Jan 29 2014 Jens Petersen <petersen@redhat.com> - 7.6.3-18.3
- fix segfault on i686 when using ffi double-mapping for selinux (#907515)
see http://hackage.haskell.org/trac/ghc/ticket/7629
(thanks Garrett Mitchener for patch committed upstream)
* Wed Oct 30 2013 Jens Petersen <petersen@redhat.com> - 7.6.3-18.2
- enable debuginfo for C code bits (#989593)
- back to production build
* Tue Oct 29 2013 Jens Petersen <petersen@redhat.com> - 7.6.3-18.1
- fix rts hang on 64bit bigendian archs (patch by Gustavo Luiz Duarte, #989593)
- build with utf8 encoding (needed for verbose ghc output
and makes better sense anyway)
- bootstrap build
* Sat Jul 27 2013 Jóhann B. Guðmundsson <johannbg@fedoraproject.org> - 7.6.3-18
- ghc-doc-index requires crontabs and mark cron file config noreplace
(http://fedoraproject.org/wiki/Packaging:CronFiles)