C functions have been modified to use same-size types on both sides.
There are no checks in gcc to make sure the types match, and it happily
trashes the stack or reads bogus data without this fix.
The C shim in gnatlib is still casting down to long (by design), thus
gnat is not 2038-proof on 32 bit architectures. Fixing this is an
ongoing project, but I'm running out of time for this release.
Getting the timezone offset is now supported; the unused usleep
procedure that snuck in from FreeBSD support got removed.
Tested on all supported architectures, plus new bootstraps due to the
stack trashing, just in case...
Conceptually fine with brad@
deraadt@ is unhappy with the partial solution, fixing this remains a
high priority todo
Otherwise this test will generate a stack overflow, silently disabling libffi
support.
Found with -fstack-protector-strong, fixed by martynas@, thanks! Bumping
REVISION because there are already packages with strong stack protection
enabled out there.
deciding whether they need to be `int' or `long' sized (really `void *' sized).
Unbreaks 64-bit platforms with strict alignment (alpha and sparc64 where this
had been detected, but likely mips64 as well).
ok landry@
The offending code is the i386 assembler within gmplonglong.h.
Using the same C code used by amd64, the interpreter builds but
it breaks the racket math libs. I tried to fix the bug backporting
some fixes related to gmp or clang from the racket repo but nothing
worked.
GCC 4.6 fixes also the crashes with the udp.rktl test but doesn't
break the math lib, so I'm changing the port to use the ports GCC.
Obviously there is some broken code on racket but I need more
time to find it.
I've included an additional patch for the gmp version included
with racket. The version is pretty old and only has assembler
code for old CPUs while the racket developers mostly only test
their code on amd64. Now racket uses the C code used by amd64
for every platform.
ok brad@ sthen@
and rbx FLAVORs, avoiding missing pthread and gmp libraries depending
on the FLAVOR. Remove support for MODRUBY_WANTLIB_m, only used by
one port.
Feedback and OK zhuk@
ruby21 FLAVOR. Use additional PLIST file for gems with C extensions
for ruby 2.1, to include the gem.build_complete file, which avoids
problems where rubygems attempts to build extensions at runtime.
So let's switch to compiling Setup scripts once more, to give at least
a few more hs packages to be built on i386, until I figure out a fix
for rts/Linker.c.
Unfortunately, the current breakage also affects template haskell,
which still leads to a lot of unbuildable ports, for example
devel/hs-vector.
Tested on i386, amd64 and macppc. macppc included a diff that's not part
of this update but will be added at a later time.
Committing on behalf of rpointel@. sthen@ OK