Haiku does not yet support certain features related to POSIX threads.
Constants used to test for the presence of these features should
therefore be left undefined, according to the POSIX spec, but are
currently set to -1. This can cause software built on Haiku to
incorrectly detect the presence of these features.
* unistd.h: Undefine _POSIX_THREAD_ATTR_STACKADDR,
_POSIX_THREAD_PRIORITY_SCHEDULING feature constants.
* conf.cpp: __sysconf: Return -1 for unsupported features.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
This code is closer to what we used before for gcc2, and should not
crash there anymore. I could not get exactly the same code to work, but
reduced the difference to a single statement (which makes gcc2 work and
breaks gcc4). This is protected under a guard with appropriate ffmpeg
version test.
This code works for both gcc2 and gcc4 (tested with mp3 and aac files as
well as youtube videos). It still gets the timestamps wrong with ffmpeg
2.4, but I'll try to solve that another time.
Commit 856cc59e58 didn't really "fix"
anything; it just broke audio pretty much everywhere but YouTube,
and there videos play at 2x speed so it wasn't really worth it.
Stopgap solution for #12509.
* update gmp package for x86, gmp_x86 for x86_gcc2.
* update wget packages for x86 and x86_gcc2.
* update icu* packages for x86_gcc2 and x86.
* update libgpg_error* packages for x86_gcc2.
* Beware that installing these packages will replace gcc and syslibs. gcc5 packages
can be used to check that packages still build correctly with gcc5, simply being
places in haikuporter packages folder.
* libstdc++ is configured for "gcc4 compatibility", this means we could switch to
this version, while maintaining binary compatibility. However a switch to the new abi
will eventually require a full rebuild of packages depending on libstdc++. For this
to happen, the affected packages should be buildable with gcc5, which can easily be done
with the addition of these packages. Mainstream packages with up to date versions are
probably already buildable with gcc5, some aren't (ie boost). All haiku-* packages are
to be checked. I'll open a provisioning ticket to track the related activities.
* IvyBridge or higher can auto-train.
* Linux doesn't use this feature, however
manual FDI link training is *really*
complex... lets try auto-training first.