Works around "relocation truncated to fit: R_PPC_GOT16 against symbol" issue
mentioned in #10240. PIC uses a larger GOT which doesn't overflow, unlike pic.
* Adjust the libgcc spec to actually link against libgcc explicitly
(it is no longer included in libroot.so on anything except x86_gcc2).
* Apply --as-needed when linking against libgcc_s.so
* Drop search paths that no longer exist (/boot/common/...).
* The glue code files crtbegin.o and crtend.o don't cleanup globals
properly, only the variants with the S suffix do. As executables are
shared on Haiku, we use crtbeginS.o and crtendS.o for those, too.
This fixes crashes on shutdown of Haiku servers that load add-ons (e.g.
Print Server and Media Add-On Server).
* The configure script for libstdc++ contained a couple of duplicate
'haiku*' case entries, where the first would shadow the second.
* Correct several incorrect libtool definitions and paths.
* Gcc will now build libgcc.a, libgcc_eh.a and libgcc_s.so.
* Activate thread support for libgcc.
* Let libgcc use ELF dwarf2 unwinding on Haiku.
* Activate ELF symbol versioning on Haiku.
* Activate use of __cxa_atexit
* Drop fragments of Haiku support for mipsel
* copied the generic config and added os_defines to enable time support
without link tests when cross compiling.
* os_defines definitions are disabled for _KERNEL_MODE and _LOADER_MODE.
* Drop /boot/common header paths
I don't think pre-pm haiku will build anyway
without using an older buildtools.
* Add secondary arch os header directories.
Anything secondary arch that provides os
headers will break without the proper search
paths in gcc.
* Fixes secondary packages that depend on the
OpenGL kit
Due to the use of STARTFILE_PREFIX_SPEC the path containing the
libraries gcc provides (libstdc++ and friends) was missing. So
revert to the previously used STANDARD_STARTFILE_PREFIX_{1,2},
MD_STARTFILE_PREFIX method.
* Rename to --with-hybrid-secondary and require as parameter the name of
the secondary packaging architecture. The value is used for
constructing the respective default header and library search paths.
* Add /boot/system/develop/headers/<arch> to header search paths.
* The build host's math library is needed, not the host's. Makes a
difference when build host != host, e.g. when cross-compiling a native
Haiku compiler on Linux.
* Rename the variable math_library -> build_math_library for clarity.
This is already done on x86 using the --enable-frame-pointer option
to GCC's configure script, but that option only works for 32-bit x86.
Added an option to haiku64.h that forces it off by default for 64-bit.
* add new configure-option '--enable-hybrid-secondary'
* pick alternative include- and library-paths, if in hybrid-secondary
mode
* switch to 'STARTFILE_PREFIX_SPEC', as that allows more obvious
specification of the search order