diff --git a/gc/PKGBUILD b/gc/PKGBUILD new file mode 100644 index 00000000..4ee4b1e7 --- /dev/null +++ b/gc/PKGBUILD @@ -0,0 +1,85 @@ +# Maintainer: Alexey Pavlov + +pkgbase=gc +pkgname=('libgc' 'libgc-devel' 'libatomic_ops-devel') +pkgver=7.2.d +pkgrel=1 +pkgdesc="A garbage collector for C and C++" +arch=('i686' 'x86_64') +gropus=('libraries') +url="http://www.hpl.hp.com/personal/Hans_Boehm/gc/" +license=('GPL') +source=("http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/${pkgbase}-7.2d.tar.gz" + gc-7.2-msys2.patch + gc-7.2d-patch64.diff) +depends=('gcc-libs') +options=('!libtool') +md5sums=('91340b28c61753a789eb6077675d87d2' + '863ef4700d7f92262f3b282a44316654' + 'db2dd5909ea0701aa6de2b8153c0b4a4') + +prepare() { + cd "${srcdir}/${pkgbase}-7.2" + + patch -p2 -i ${srcdir}/gc-7.2d-patch64.diff + patch -p1 -i ${srcdir}/gc-7.2-msys2.patch +} + +build() { + cd "${srcdir}/${pkgbase}-7.2" + ./configure --build=${CHOST} \ + --prefix=/usr \ + --enable-cplusplus \ + --enable-threads=pthreads \ + --without-libatomic-ops \ + --disable-static + make + + # Install to dest + make DESTDIR="${srcdir}/dest" install + cd libatomic_ops + make DESTDIR="${srcdir}/dest" install + cd .. + + rm -rf "${srcdir}/dest/usr/share/gc" + install -m755 -d "${srcdir}/dest/usr/share/doc/gc" + install -m644 doc/README{,.{changes,contributors,environment,win32}} \ + "${srcdir}/dest/usr/share/doc/gc/" + + sed -i -e 's/GC_MALLOC 1L/gc 3/' doc/gc.man + install -m755 -d "${srcdir}/dest/usr/share/man/man3" + install -m644 doc/gc.man "${srcdir}/dest/usr/share/man/man3/gc.3" +} + +package_libgc() { + mkdir -p $pkgdir/usr/{bin,share} + cp -f ${srcdir}/dest/usr/bin/*.dll $pkgdir/usr/bin/ + cp -rf ${srcdir}/dest/usr/share/man $pkgdir/usr/share/ +} + +package_libgc-devel() { + groups=('development') + options=('staticlibs') + depends=('libgc') + + mkdir -p $pkgdir/usr/{lib,include} + cp -rf ${srcdir}/dest/usr/include/gc $pkgdir/usr/include + cp -f ${srcdir}/dest/usr/include/gc*.h $pkgdir/usr/include/ + + cp -f ${srcdir}/dest/usr/lib/lib{cord,gc}*.a $pkgdir/usr/lib/ + mkdir -p $pkgdir/usr/lib/pkgconfig + cp -f ${srcdir}/dest/usr/lib/pkgconfig/bdw-gc.pc $pkgdir/usr/lib/pkgconfig/ +} + +package_libatomic_ops-devel() { + groups=('development') + options=('staticlibs') + + mkdir -p $pkgdir/usr/{lib,include} + cp -rf ${srcdir}/dest/usr/include/atomic_ops $pkgdir/usr/include + cp -f ${srcdir}/dest/usr/include/atomic_ops*.h $pkgdir/usr/include/ + + cp -f ${srcdir}/dest/usr/lib/libatomic_ops*.a $pkgdir/usr/lib/ + mkdir -p $pkgdir/usr/lib/pkgconfig + cp -f ${srcdir}/dest/usr/lib/pkgconfig/atomic_ops.pc $pkgdir/usr/lib/pkgconfig/ +} diff --git a/gc/gc-7.2-msys2.patch b/gc/gc-7.2-msys2.patch new file mode 100644 index 00000000..7fe38a89 --- /dev/null +++ b/gc/gc-7.2-msys2.patch @@ -0,0 +1,813 @@ +diff -Naur gc-7.2-orig/config.guess gc-7.2/config.guess +--- gc-7.2-orig/config.guess 2012-08-10 00:25:12.000000000 +0400 ++++ gc-7.2/config.guess 2013-07-10 23:39:51.388671900 +0400 +@@ -804,6 +804,9 @@ + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; +@@ -844,6 +847,9 @@ + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; ++ amd64:MSYS*:*:* | x86_64:MSYS*:*:*) ++ echo x86_64-unknown-msys ++ exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; +diff -Naur gc-7.2-orig/config.sub gc-7.2/config.sub +--- gc-7.2-orig/config.sub 2012-08-10 00:25:12.000000000 +0400 ++++ gc-7.2/config.sub 2013-07-10 23:40:08.263671900 +0400 +@@ -1336,7 +1336,7 @@ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ +- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ +diff -Naur gc-7.2-orig/configure gc-7.2/configure +--- gc-7.2-orig/configure 2012-08-10 00:25:12.000000000 +0400 ++++ gc-7.2/configure 2013-07-10 23:54:06.341796900 +0400 +@@ -5022,7 +5022,7 @@ + $as_echo "#define GC_IRIX_THREADS 1" >>confdefs.h + + ;; +- *-*-cygwin*) ++ *-*-cygwin* | *-*-msys*) + $as_echo "#define GC_WIN32_THREADS 1" >>confdefs.h + + if test "${enable_parallel_mark}" = yes; then +@@ -5294,6 +5294,7 @@ + # dyld calls anyway. The same applies to Cygwin. + *-*-darwin*) ;; + *-*-cygwin*) ;; ++ *-*-msys*) ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 + $as_echo_n "checking for dlopen in -ldl... " >&6; } +@@ -6272,7 +6273,7 @@ + lt_cv_sys_max_cmd_len=-1; + ;; + +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, +@@ -6456,7 +6457,7 @@ + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix +@@ -6464,12 +6465,12 @@ + ;; + esac + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix +@@ -6535,7 +6536,7 @@ + esac + reload_cmds='$LD$reload_flag -o $output$reload_objs' + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi +@@ -6693,7 +6694,7 @@ + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +-cygwin*) ++cygwin* | msys*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' +@@ -7014,7 +7015,7 @@ + lt_cv_sharedlib_from_linklib_cmd='unknown' + + case $host_os in +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in +@@ -7506,7 +7507,7 @@ + aix*) + symcode='[BCDT]' + ;; +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; + hpux*) +@@ -9534,7 +9535,7 @@ + # PIC is the default for these OSes. + ;; + +- mingw* | cygwin* | pw32* | os2* | cegcc*) ++ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style +@@ -9616,7 +9617,7 @@ + fi + ;; + +- mingw* | cygwin* | pw32* | os2* | cegcc*) ++ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' +@@ -10093,7 +10094,7 @@ + extract_expsyms_cmds= + + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. +@@ -10208,7 +10209,7 @@ + fi + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' +@@ -10666,7 +10667,7 @@ + export_dynamic_flag_spec=-rdynamic + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is +@@ -11627,7 +11628,7 @@ + # libtool to hard-code these into programs + ;; + +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no +@@ -11659,6 +11660,12 @@ + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; ++ msys*) ++ # MSYS DLLs use 'msys-' prefix rather than 'lib' ++ soname_spec='`echo ${libname} | sed -e 's/^lib/msys-/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ++ ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ++ ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' +@@ -11693,7 +11700,7 @@ + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; +- cygwin*) ++ cygwin* | msys*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... +@@ -12357,7 +12364,7 @@ + lt_cv_dlopen_libs= + ;; + +- cygwin*) ++ cygwin* | msys*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; +@@ -13607,7 +13614,7 @@ + esac + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC +@@ -14638,7 +14645,7 @@ + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; +- mingw* | cygwin* | os2* | pw32* | cegcc*) ++ mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style +@@ -14708,7 +14715,7 @@ + ;; + esac + ;; +- mingw* | cygwin* | os2* | pw32* | cegcc*) ++ mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' +@@ -15193,7 +15200,7 @@ + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + case $cc_basename in + cl*) ;; + *) +@@ -15462,7 +15469,7 @@ + # libtool to hard-code these into programs + ;; + +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no +@@ -15493,6 +15500,11 @@ + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + + ;; ++ msys*) ++ # MSYS DLLs use 'msys-' prefix rather than 'lib' ++ soname_spec='`echo ${libname} | sed -e 's/^lib/msys-/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ++ ++ ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' +@@ -15527,7 +15539,7 @@ + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; +- cygwin*) ++ cygwin* | msys*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... +diff -Naur gc-7.2-orig/configure.ac gc-7.2/configure.ac +--- gc-7.2-orig/configure.ac 2012-08-10 00:25:13.000000000 +0400 ++++ gc-7.2/configure.ac 2013-07-10 23:54:50.888671900 +0400 +@@ -205,7 +205,7 @@ + *-*-irix*) + AC_DEFINE(GC_IRIX_THREADS) + ;; +- *-*-cygwin*) ++ *-*-cygwin*|*-*-msys*) + AC_DEFINE(GC_WIN32_THREADS) + if test "${enable_parallel_mark}" = yes; then + AC_DEFINE(PARALLEL_MARK) +@@ -369,6 +369,7 @@ + # dyld calls anyway. The same applies to Cygwin. + *-*-darwin*) ;; + *-*-cygwin*) ;; ++ *-*-msys*) ;; + *) + AC_CHECK_LIB(dl, dlopen, THREADDLLIBS="$THREADDLLIBS -ldl") + ;; +diff -Naur gc-7.2-orig/libatomic_ops/config.guess gc-7.2/libatomic_ops/config.guess +--- gc-7.2-orig/libatomic_ops/config.guess 2012-08-09 23:56:28.000000000 +0400 ++++ gc-7.2/libatomic_ops/config.guess 2013-07-11 06:59:59.209960900 +0400 +@@ -804,6 +804,9 @@ + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; +@@ -844,6 +847,9 @@ + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; ++ amd64:MSYS*:*:* | x86_64:MSYS*:*:*) ++ echo x86_64-unknown-msys ++ exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; +diff -Naur gc-7.2-orig/libatomic_ops/config.sub gc-7.2/libatomic_ops/config.sub +--- gc-7.2-orig/libatomic_ops/config.sub 2012-08-09 23:56:28.000000000 +0400 ++++ gc-7.2/libatomic_ops/config.sub 2013-07-11 07:00:19.288085900 +0400 +@@ -1336,7 +1336,7 @@ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ +- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ +diff -Naur gc-7.2-orig/libatomic_ops/configure gc-7.2/libatomic_ops/configure +--- gc-7.2-orig/libatomic_ops/configure 2012-08-09 23:58:11.000000000 +0400 ++++ gc-7.2/libatomic_ops/configure 2013-07-11 07:01:19.741210900 +0400 +@@ -4732,7 +4732,7 @@ + $as_echo_n "checking for PIC compiler flag... " >&6; } + if test "$GCC" = yes; then + case "$host" in +- *-*-cygwin* | *-*-mingw*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw*) + # Cygwin and Mingw[-w32/64] do not need -fPIC. + { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"\"" >&5 + $as_echo "\"\"" >&6; } +@@ -4864,7 +4864,7 @@ + *-*-openbsd* | *-*-kfreebsd*-gnu | *-*-dgux*) + THREADDLLIBS=-pthread + ;; +- *-*-cygwin* | *-*-darwin*) ++ *-*-cygwin* | *-*-msys* | *-*-darwin*) + THREADDLLIBS= + ;; + *-*-mingw*) +diff -Naur gc-7.2-orig/libatomic_ops/configure.ac gc-7.2/libatomic_ops/configure.ac +--- gc-7.2-orig/libatomic_ops/configure.ac 2012-08-09 23:56:29.000000000 +0400 ++++ gc-7.2/libatomic_ops/configure.ac 2013-07-11 07:00:56.913085900 +0400 +@@ -25,7 +25,7 @@ + AC_MSG_CHECKING(for PIC compiler flag) + if test "$GCC" = yes; then + case "$host" in +- *-*-cygwin* | *-*-mingw*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw*) + # Cygwin and Mingw[-w32/64] do not need -fPIC. + AC_MSG_RESULT("") + ;; +@@ -88,7 +88,7 @@ + *-*-openbsd* | *-*-kfreebsd*-gnu | *-*-dgux*) + THREADDLLIBS=-pthread + ;; +- *-*-cygwin* | *-*-darwin*) ++ *-*-cygwin* | *-*-msys* | *-*-darwin*) + THREADDLLIBS= + ;; + *-*-mingw*) +diff -Naur gc-7.2-orig/ltmain.sh gc-7.2/ltmain.sh +--- gc-7.2-orig/ltmain.sh 2012-08-10 00:25:13.000000000 +0400 ++++ gc-7.2/ltmain.sh 2013-07-11 06:56:59.741210900 +0400 +@@ -1179,7 +1179,7 @@ + test "$opt_debug" = : || func_append preserve_args " --debug" + + case $host in +- *cygwin* | *mingw* | *pw32* | *cegcc*) ++ *cygwin* | *msys* | *mingw* | *pw32* | *cegcc*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; +@@ -2122,7 +2122,7 @@ + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in +- cygwin* | mingw* | pw32* | os2* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac +@@ -2991,7 +2991,7 @@ + 'exit $?' + tstripme="$stripme" + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme="" +@@ -3097,7 +3097,7 @@ + + # Do a test to see if this is really a libtool program. + case $host in +- *cygwin* | *mingw*) ++ *cygwin* | *msys* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result +@@ -3172,7 +3172,7 @@ + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in +- */usr/bin/install*,*cygwin*) ++ */usr/bin/install*,*cygwin*|*/usr/bin/install*,*msys*) + case $file:$destfile in + *.exe:*.exe) + # this is ok +@@ -3320,7 +3320,7 @@ + $RM $export_symbols + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; +@@ -3332,7 +3332,7 @@ + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; +@@ -3346,7 +3346,7 @@ + func_basename "$dlprefile" + name="$func_basename_result" + case $host in +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" +@@ -3499,7 +3499,7 @@ + # Transform the symbol file into the correct name. + symfileobj="$output_objdir/${my_outputname}S.$objext" + case $host in +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` +@@ -4369,7 +4369,7 @@ + { + EOF + case "$host" in +- *mingw* | *cygwin* ) ++ *mingw* | *cygwin* | *msys* ) + # make stdout use "unix" line endings + echo " setmode(1,_O_BINARY);" + ;; +@@ -5082,7 +5082,7 @@ + { + $opt_debug + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra +@@ -5569,7 +5569,7 @@ + ;; + esac + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; +@@ -5589,7 +5589,7 @@ + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; +@@ -5666,7 +5666,7 @@ + + -no-install) + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "\`-no-install' is ignored for $host" +@@ -6531,7 +6531,7 @@ + fi + case "$host" in + # special handling for platforms with PE-DLLs. +- *cygwin* | *mingw* | *cegcc* ) ++ *cygwin* | *msys* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present +@@ -6675,7 +6675,7 @@ + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + case $host in +- *cygwin* | *mingw* | *cegcc*) ++ *cygwin* | *msys* | *mingw* | *cegcc*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no +@@ -6745,7 +6745,7 @@ + elif test -n "$soname_spec"; then + # bleh windows + case $host in +- *cygwin* | mingw* | *cegcc*) ++ *cygwin* | *msys* | mingw* | *cegcc*) + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" +@@ -7605,7 +7605,7 @@ + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) +@@ -8118,7 +8118,7 @@ + + orig_export_symbols= + case $host_os in +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then +@@ -8674,7 +8674,7 @@ + + prog) + case $host in +- *cygwin*) func_stripname '' '.exe' "$output" ++ *cygwin* | *msys*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ +@@ -8787,7 +8787,7 @@ + esac + fi + case $host in +- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) ++ *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; +@@ -8865,7 +8865,7 @@ + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=no + ;; +- *cygwin* | *mingw* ) ++ *cygwin* | *msys* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi +@@ -9012,14 +9012,14 @@ + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in +- *cygwin*) ++ *cygwin* | *msys*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in +- *cygwin* | *mingw* ) ++ *cygwin* | *msys* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result +@@ -9346,7 +9346,7 @@ + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in +- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) ++ *cygwin*,*lai,yes,no,*.dll | *msys*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test "x$bindir" != x ; + then +diff -Naur gc-7.2-orig/m4/libtool.m4 gc-7.2/m4/libtool.m4 +--- gc-7.2-orig/m4/libtool.m4 2012-08-10 00:25:13.000000000 +0400 ++++ gc-7.2/m4/libtool.m4 2013-07-11 07:04:29.491210900 +0400 +@@ -1559,7 +1559,7 @@ + lt_cv_sys_max_cmd_len=-1; + ;; + +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, +@@ -1801,7 +1801,7 @@ + lt_cv_dlopen_libs= + ;; + +- cygwin*) ++ cygwin* | msys*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; +@@ -2272,7 +2272,7 @@ + # libtool to hard-code these into programs + ;; + +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no +@@ -2304,6 +2304,12 @@ + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; ++ msys*) ++ # MSYS DLLs use 'msys-' prefix rather than 'lib' ++ soname_spec='`echo ${libname} | sed -e 's/^lib/msys-/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ++m4_if([$1], [],[ ++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ++ ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +@@ -2338,7 +2344,7 @@ + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; +- cygwin*) ++ cygwin* | msys*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... +@@ -3094,7 +3100,7 @@ + esac + reload_cmds='$LD$reload_flag -o $output$reload_objs' + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi +@@ -3150,7 +3156,7 @@ + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +-cygwin*) ++cygwin* | msys*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' +@@ -3460,7 +3466,7 @@ + [lt_cv_sharedlib_from_linklib_cmd='unknown' + + case $host_os in +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in +@@ -3515,7 +3521,7 @@ + [AC_REQUIRE([AC_CANONICAL_HOST])dnl + LIBM= + case $host in +-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) ++*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-msys* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; + *-ncr-sysv4.3*) +@@ -3590,7 +3596,7 @@ + aix*) + symcode='[[BCDT]]' + ;; +-cygwin* | mingw* | pw32* | cegcc*) ++cygwin* | msys* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; + hpux*) +@@ -3857,7 +3863,7 @@ + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; +- mingw* | cygwin* | os2* | pw32* | cegcc*) ++ mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style +@@ -3928,7 +3934,7 @@ + ;; + esac + ;; +- mingw* | cygwin* | os2* | pw32* | cegcc*) ++ mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], +@@ -4175,7 +4181,7 @@ + # PIC is the default for these OSes. + ;; + +- mingw* | cygwin* | pw32* | os2* | cegcc*) ++ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style +@@ -4258,7 +4264,7 @@ + fi + ;; + +- mingw* | cygwin* | pw32* | os2* | cegcc*) ++ mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], +@@ -4503,7 +4509,7 @@ + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; +- cygwin* | mingw* | cegcc*) ++ cygwin* | msys* | mingw* | cegcc*) + case $cc_basename in + cl*) ;; + *) +@@ -4563,7 +4569,7 @@ + extract_expsyms_cmds= + + case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. +@@ -4681,7 +4687,7 @@ + fi + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +@@ -5056,7 +5062,7 @@ + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is +@@ -6065,7 +6071,7 @@ + esac + ;; + +- cygwin* | mingw* | pw32* | cegcc*) ++ cygwin* | msys* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC +@@ -7799,7 +7805,7 @@ + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix +@@ -7807,12 +7813,12 @@ + ;; + esac + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; +- *-*-cygwin* ) ++ *-*-cygwin* | *-*-msys* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix +diff -Naur gc-7.2-orig/m4/ltoptions.m4 gc-7.2/m4/ltoptions.m4 +--- gc-7.2-orig/m4/ltoptions.m4 2012-08-10 00:25:13.000000000 +0400 ++++ gc-7.2/m4/ltoptions.m4 2013-07-11 07:01:43.725585900 +0400 +@@ -126,7 +126,7 @@ + [enable_win32_dll=yes + + case $host in +-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) ++*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) diff --git a/gc/gc-7.2d-patch64.diff b/gc/gc-7.2d-patch64.diff new file mode 100644 index 00000000..83b05f2d --- /dev/null +++ b/gc/gc-7.2d-patch64.diff @@ -0,0 +1,207 @@ +Only in whatif/gc-7.2: .deps +Only in whatif/gc-7.2: .libs +Binary files pristine/gc-7.2/.os_dep.c.swp and whatif/gc-7.2/.os_dep.c.swp differ +Only in whatif/gc-7.2: allchblk.lo +Only in whatif/gc-7.2: allchblk.o +Only in whatif/gc-7.2: alloc.lo +Only in whatif/gc-7.2: alloc.o +Only in whatif/gc-7.2: atomic_ops.lo +Only in whatif/gc-7.2: atomic_ops.o +Only in whatif/gc-7.2: backgraph.lo +Only in whatif/gc-7.2: backgraph.o +Only in whatif/gc-7.2: bdw-gc.pc +Only in whatif/gc-7.2: blacklst.lo +Only in whatif/gc-7.2: blacklst.o +Only in whatif/gc-7.2: checksums.lo +Only in whatif/gc-7.2: checksums.o +Only in whatif/gc-7.2: config.log +Only in whatif/gc-7.2: config.status +Only in whatif/gc-7.2: cordbscs.lo +Only in whatif/gc-7.2: cordbscs.o +Only in whatif/gc-7.2: cordprnt.lo +Only in whatif/gc-7.2: cordprnt.o +Only in whatif/gc-7.2: cordtest.lo +Only in whatif/gc-7.2: cordtest.o +Only in whatif/gc-7.2: cordxtra.lo +Only in whatif/gc-7.2: cordxtra.o +Only in whatif/gc-7.2: dbg_mlc.lo +Only in whatif/gc-7.2: dbg_mlc.o +Only in whatif/gc-7.2: dyn_load.lo +Only in whatif/gc-7.2: dyn_load.o +Only in whatif/gc-7.2: finalize.lo +Only in whatif/gc-7.2: finalize.o +Only in whatif/gc-7.2: gc_dlopen.lo +Only in whatif/gc-7.2: gc_dlopen.o +Only in whatif/gc-7.2: gcj_mlc.lo +Only in whatif/gc-7.2: gcj_mlc.o +Only in whatif/gc-7.2: headers.lo +Only in whatif/gc-7.2: headers.o +diff -ur pristine/gc-7.2/include/gc.h whatif/gc-7.2/include/gc.h +--- pristine/gc-7.2/include/gc.h 2012-08-09 16:25:13.000000000 -0400 ++++ whatif/gc-7.2/include/gc.h 2013-04-22 13:10:01.101686000 -0400 +@@ -1385,7 +1385,14 @@ + /* THREAD_LOCAL_ALLOC defined and the initial allocation call is not */ + /* to GC_malloc() or GC_malloc_atomic(). */ + +-#ifdef __CYGWIN32__ ++#ifdef __CYGWIN__ ++#ifdef __x86_64__ ++ extern int __data_start__[], __data_end__[], __bss_start__[], __bss_end__[]; ++#define GC_DATASTART (__data_start__ < __bss_start__ ?\ ++ (void *)__data_start__ : (void *)__bss_start__) ++#define GC_DATAEND (__data_end__ < __bss_end__ ?\ ++ (void *)__data_end__ : (void *)__bss_end__) ++#else + /* Similarly gnu-win32 DLLs need explicit initialization from the */ + /* main program, as does AIX. */ + extern int _data_start__[], _data_end__[], _bss_start__[], _bss_end__[]; +@@ -1393,6 +1400,7 @@ + (void *)_data_start__ : (void *)_bss_start__) + # define GC_DATAEND (_data_end__ > _bss_end__ ? \ + (void *)_data_end__ : (void *)_bss_end__) ++#endif + # define GC_INIT_CONF_ROOTS GC_add_roots(GC_DATASTART, GC_DATAEND); \ + GC_gcollect() /* For blacklisting. */ + /* Required at least if GC is in a DLL. And doesn't hurt. */ +Only in whatif/gc-7.2/include/private: config.h +diff -ur pristine/gc-7.2/include/private/gcconfig.h whatif/gc-7.2/include/private/gcconfig.h +--- pristine/gc-7.2/include/private/gcconfig.h 2012-08-09 16:25:13.000000000 -0400 ++++ whatif/gc-7.2/include/private/gcconfig.h 2013-04-21 12:52:28.024399600 -0400 +@@ -432,10 +432,20 @@ + # endif + # define mach_type_known + # endif +-# if defined(__CYGWIN32__) || defined(__CYGWIN__) ++# if defined(__CYGWIN32__) + # define I386 + # define CYGWIN32 + # define mach_type_known ++#if defined(__CYGWIN__) ++# if defined(__LP64__) ++# define X86_64 ++# define mach_type_known ++# else ++# define I386 ++# endif ++# define CYGWIN32 ++# define mach_type_known ++#endif + # endif + # if defined(__MINGW32__) && !defined(mach_type_known) + # define I386 +@@ -502,6 +512,16 @@ + # define mach_type_known + # endif + ++#if defined(__CYGWIN__) ++# if defined(__LP64__) ++# define X86_64 ++# define mach_type_known ++# else ++# define I386 ++# endif ++# define CYGWIN32 ++# define mach_type_known ++#endif + /* Feel free to add more clauses here */ + + /* Or manually define the machine type here. A machine type is */ +@@ -2259,6 +2279,19 @@ + # define GWW_VDB + # define DATAEND /* not needed */ + # endif ++ ++# ifdef CYGWIN32 ++# define OS_TYPE "CYGWIN32" ++# define DATASTART ((ptr_t)GC_DATASTART) /* From gc.h */ ++# define DATAEND ((ptr_t)GC_DATAEND) ++# define ALIGNMENT 8 ++# undef STACK_GRAN ++# define STACK_GRAN 0x10000 ++# ifdef USE_MMAP ++# define NEED_FIND_LIMIT ++# define USE_MMAP_ANON ++# endif ++# endif + # endif /* X86_64 */ + + # ifdef HEXAGON +Only in whatif/gc-7.2/include/private: stamp-h1 +Only in whatif/gc-7.2/libatomic_ops: config.log +Only in whatif/gc-7.2/libatomic_ops: config.status +Only in whatif/gc-7.2/libatomic_ops/doc: Makefile +Only in whatif/gc-7.2/libatomic_ops: Makefile +Only in whatif/gc-7.2/libatomic_ops/pkgconfig: atomic_ops.pc +Only in whatif/gc-7.2/libatomic_ops/pkgconfig: atomic_ops-uninstalled.pc +Only in whatif/gc-7.2/libatomic_ops/src: .deps +Only in whatif/gc-7.2/libatomic_ops/src/atomic_ops: Makefile +Only in whatif/gc-7.2/libatomic_ops/src/atomic_ops/sysdeps: Makefile +Only in whatif/gc-7.2/libatomic_ops/src: config.h +Only in whatif/gc-7.2/libatomic_ops/src: Makefile +Only in whatif/gc-7.2/libatomic_ops/src: stamp-h1 +Only in whatif/gc-7.2/libatomic_ops/tests: .deps +Only in whatif/gc-7.2/libatomic_ops/tests: Makefile +Only in whatif/gc-7.2: libcord.la +Only in whatif/gc-7.2: libgc.la +Only in whatif/gc-7.2: libtool +Only in whatif/gc-7.2: mach_dep.lo +Only in whatif/gc-7.2: mach_dep.o +Only in whatif/gc-7.2: Makefile +Only in whatif/gc-7.2: malloc.lo +Only in whatif/gc-7.2: malloc.o +Only in whatif/gc-7.2: mallocx.lo +Only in whatif/gc-7.2: mallocx.o +Only in whatif/gc-7.2: mark.lo +Only in whatif/gc-7.2: mark.o +Only in whatif/gc-7.2: mark_rts.lo +Only in whatif/gc-7.2: mark_rts.o +Only in whatif/gc-7.2: misc.lo +Only in whatif/gc-7.2: misc.o +Only in whatif/gc-7.2: new_hblk.lo +Only in whatif/gc-7.2: new_hblk.o +Only in whatif/gc-7.2: obj_map.lo +Only in whatif/gc-7.2: obj_map.o +diff -ur pristine/gc-7.2/os_dep.c whatif/gc-7.2/os_dep.c +--- pristine/gc-7.2/os_dep.c 2012-08-09 16:25:13.000000000 -0400 ++++ whatif/gc-7.2/os_dep.c 2013-04-22 12:43:32.202498600 -0400 +@@ -770,7 +770,14 @@ + /* gcc version of boehm-gc). */ + GC_API int GC_CALL GC_get_stack_base(struct GC_stack_base *sb) + { ++# ifdef __x86_64__ ++ PNT_TIB pTib = NtCurrentTeb(); ++ void * _tlsbase = pTib->StackBase; ++ /*void * _tlsbase = NtCurrentTeb()->pTib.StackBase;*/ ++ /*extern void * _tlsbase __asm__ ("%gs:8");*/ ++# else + extern void * _tlsbase __asm__ ("%fs:4"); ++# endif + sb -> mem_base = _tlsbase; + return GC_SUCCESS; + } +Only in whatif/gc-7.2: os_dep.lo +Only in whatif/gc-7.2: os_dep.o +Only in whatif/gc-7.2: pcr_interface.lo +Only in whatif/gc-7.2: pcr_interface.o +Only in whatif/gc-7.2: pthread_start.lo +Only in whatif/gc-7.2: pthread_start.o +Only in whatif/gc-7.2: pthread_stop_world.lo +Only in whatif/gc-7.2: pthread_stop_world.o +Only in whatif/gc-7.2: pthread_support.lo +Only in whatif/gc-7.2: pthread_support.o +Only in whatif/gc-7.2: ptr_chck.lo +Only in whatif/gc-7.2: ptr_chck.o +Only in whatif/gc-7.2: real_malloc.lo +Only in whatif/gc-7.2: real_malloc.o +Only in whatif/gc-7.2: reclaim.lo +Only in whatif/gc-7.2: reclaim.o +Only in whatif/gc-7.2: specific.lo +Only in whatif/gc-7.2: specific.o +Only in whatif/gc-7.2: stubborn.lo +Only in whatif/gc-7.2: stubborn.o +Only in whatif/gc-7.2: thread_local_alloc.lo +Only in whatif/gc-7.2: thread_local_alloc.o +Only in whatif/gc-7.2: typd_mlc.lo +Only in whatif/gc-7.2: typd_mlc.o +Only in whatif/gc-7.2: win32_threads.lo +Only in whatif/gc-7.2: win32_threads.o