Commit Graph

312 Commits

Author SHA1 Message Date
Fredrik Holmqvist
88896a1144 Update MPFR to 4.1.0
Change-Id: I42dc2a783b3e0082a7583cc7ecaa6b043ba162f4
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/3021
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2020-07-17 10:34:03 +00:00
Fredrik Holmqvist
4c74403188 Update GMP to 6.2.0
Change-Id: Iae65e95cfa0d92091b8b0a424ae36d88efa76aa9
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/3020
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-07-17 10:33:46 +00:00
Fredrik Holmqvist
9897128cb9 Update to ISL 0.22.1
Change-Id: I9d707083f0a9e71d3bcc02b3265bfb233bdbe46c
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/3019
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-07-17 10:33:26 +00:00
Augustin Cavalier
2ebb811a77 Force libiberty to consider all filesystems as potentially case-sensitive.
Whose idea was this?!

Fixes #14963.
2020-05-03 15:47:38 -04:00
François Revol
32f9366f9e gcc: fix m68k for GCC 8.3 2019-11-02 03:47:32 +01:00
Jaroslaw Pelczar
f420f1565f GCC: Fix missing haiku in config.host for ARM64
This allows bootstrap-raw target to build GCC for ARM64

Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: Id64b8c041b3488a78219b8a2b633a3fedc9ee4f0
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/1821
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-09-15 16:01:04 +00:00
Jaroslaw Pelczar
e4426fc38a gcc: Add initial support for AArch64 Haiku
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I8bd362b61ded01ae1b15d0a999d0db947204aeb7
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/1797
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-01 03:06:22 +00:00
Simon South
86f02e2a45 gcc: Use correct linker emulation on arm
Among other things this ensures the TARGET2_TYPE linker option is set
correctly, preventing "unresolvable R_ARM_REL32 relocation" errors at
link time.

Fixes #15122.

Change-Id: Id4c6e97cc1739ecfac0f7cd0ec93927750f1b313
Reviewed-on: https://review.haiku-os.org/c/1702
Reviewed-by: Rene Gollent <rene@gollent.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-11 19:01:15 +00:00
Augustin Cavalier
6fb237714b gcc: Change ARM typeinfo behavior to match other architectures.
For all other architectures, these lines were removed in
btrev39570. For some reason, ARM was missed. Now we rectify that.
2019-06-15 20:44:57 -04:00
Alexander von Gluck IV
9d7404d604 gcc: Fix startfile search prefixes and bootstraps
* ac9c3b700 introduced modifications to configure.ac which added
  HYBRID_SECONDARY support to configure. Without these changes,
  HYBRID_SECONDARY = @HYBRID_SECONDARY@ in Makefile.in (configure
  doesn't template it out) which trickled into library search paths
  in various places. (if def, set to contents of HYBRID_SECONDARY)
* Fixes bootstraps across all architectures (that bootstrap ;-))
2019-06-02 17:57:02 -05:00
Alexander von Gluck IV
e649c97b4a gcc: Add missing Haiku stdint defines for m68k,riscv,mipsel,ppc,sparc64
Change-Id: Iab32e700d7cfaddae8e76742ddc7eb25fbe2c865
2019-05-24 20:33:26 -05:00
Augustin Cavalier
341e3be74c Merge our changes into GCC 8.3. 2019-05-24 19:14:48 -04:00
Augustin Cavalier
b0a6bed08c Import GCC 8.3. 2019-05-23 17:48:23 -04:00
Alexander von Gluck IV
931a9c38d5 riscv64: Fix startfile spec which breaks sysroot
* STARTFILE_PREFIX_SPEC is defined to /usr,/lib,etc on riscv.h
  which seems to override the sysroot paths for libraries.

Change-Id: Ia6b785ba1e5421a86227204b73b90496fb1af3ff
2019-04-03 21:13:19 -05:00
Alexander von Gluck IV
c162732461 riscv64: Disable MULTILIB for now to keep things simple
Change-Id: I569d0ba9512d635dfe03fbc9fcd95289d9c44098
Reviewed-on: https://review.haiku-os.org/c/1348
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-02 20:06:27 +00:00
Alexander von Gluck IV
fb78ddf2aa riscv64: Fix potentially missing ld/gas
Change-Id: I832bb2f4c2872c1c80cd9cd11e32387f9a48a3df
Reviewed-on: https://review.haiku-os.org/c/1347
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-02 20:06:27 +00:00
PulkoMandy
db2fd1989f Fix gcc config for Haiku on sparc
- Remove accidentally copied NetBSD stuff, so we actually use our
  linkspec
- Put the files in the correct order in config.gcc

This gets us past stage0 bootstrapping (building gcc_bootstrap package).

Change-Id: I245a5ae111a6ca5e02b55e7a49e47cadcbc21731
Reviewed-on: https://review.haiku-os.org/c/1081
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-02-23 16:37:14 +00:00
Augustin Cavalier
fd2fd983c5 gcc/mpfr: Disable LTO unconditionally.
This is kind of a hack, but really it's the configure script that
is broken, as it hard-checks for "gcc-ar" which of course does not
work with Clang builds. We want LTO to be enabled in GCC, and
GCC unconditionally passes all arguments it gets to sub-configures,
so all we can do is stop the flag from having any effect.

Fixes #14733.
2019-02-20 22:49:25 -05:00
Alexander von Gluck IV
abcbee7bba haiku: Add riscv arch support
Change-Id: Ifa5b93cb959798d74ed045f53f5050651f409314
Reviewed-on: https://review.haiku-os.org/c/1062
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-02-21 01:32:48 +00:00
Adrien Destugues
198e0fde5e haiku: Get sparc buildtools going
- If kallisti5 is having fun with RISC-V, why can't I too?
- Gets as far as complaining we don't have a libsolv package in
  non-bootstrap builds

Change-Id: I0bb2b632d8f9007d5ad130f8cfddda36787050fc
Reviewed-on: https://review.haiku-os.org/c/1060
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-02-19 18:28:17 +00:00
waddlesplash
0c77ecec1f isl: Rerun autoconf. 2018-08-26 21:58:14 -04:00
waddlesplash
b5743e0bba m4: Add AX_PTHREAD m4 file, fixes the build with older autoconf. 2018-08-26 21:24:49 -04:00
waddlesplash
6c18e94008 configure: Update/touch so the build system won't try to update it. 2018-08-26 21:01:36 -04:00
Fredrik Holmqvist
974e12c1f0 Upgrade mpfr to 4.0.1
Old version was 3.1.2 and is quite old: 2013-03-13
A lot has happened since then 4.0.1 is from 2018-02-07
2018-07-04 20:21:01 +02:00
Fredrik Holmqvist
87b935d29c Upgrade mpc from 1.0.1 to 1.1.0
Mostly bug fixes, see mpc/NEWS
2018-07-04 20:21:00 +02:00
Fredrik Holmqvist
f133d007f9 Upgrade GMP from 5.0.5 to 6.1.2 (2016-12-16)
Old version was from 2012-05-06, 6.1.2 is from 2016-12-16
A lot of support for newer processors and speedups since then
See gmp/NEWS for details
2018-07-04 20:20:59 +02:00
Fredrik Holmqvist
e7f96e19a4 Upgrade isl to version 0.19
gcc currently requires 0.15 or later for graphite
2018-07-04 20:20:56 +02:00
Fredrik Holmqvist
0b514caa50 Move isl inside gcc dir
Moving it inside gcc dir allows gcc to detect and build isl while
building gcc. It has dependencies on other libraries that would
need to be prebuilt if we build it ourselves.

This is one of a few steps in building gcc with isl and allowing graphite
optimization flags.
2018-07-04 20:20:55 +02:00
Jerome Duval
13dd3f531f fix for libstdc++/69506 2018-06-28 22:35:23 +02:00
Augustin Cavalier
ac9c3b7005 Further synchronization with HaikuPorts patches. 2018-06-03 12:11:59 -04:00
Augustin Cavalier
a7eeaa62ba gcc: Synchronize Makefile.in with HaikuPorts one.
Includes a fix for the x86_64 GCC build from Jerome.

Fixes #14179.
2018-06-03 12:05:19 -04:00
waddlesplash
8651cd3f95 Further fixes to get GCC 7.3 actually working for Haiku builds.
Partially from @jarekpelczar's work, but only certain pieces that
were needed, and the rest is either from earlier GCC patches
or is my own work.

With this, GCC 7 can now build Haiku.
2018-05-19 23:00:50 -04:00
Alexander von Gluck IV
51ec6d2217 gcc: Initial Haiku support patches based on gcc 5.x 2018-03-20 09:59:01 -05:00
Alexander von Gluck IV
ffa48efe31 import previous mpfr,mpc,gmp 2018-03-19 15:46:45 -05:00
Alexander von Gluck IV
3d544ab266 import gcc 7.3.0 2018-03-19 15:34:23 -05:00
François Revol
8865c113a6 gcc: correct LINK_SPEC for m68k
We need to allow undefined symbols to link libgcc now...
2016-07-20 04:40:19 +02:00
Jérôme Duval
97e06d2ad6 Merge gcc 5.4.0. 2016-06-05 13:33:52 +02:00
Jérôme Duval
7f478ec453 import gcc 5.4.0 2016-06-05 13:00:18 +02:00
Paweł Dziepak
aaf3dee62e gcc: reassign copyright to the FSF
Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>
2016-03-08 21:28:51 +00:00
Jérôme Duval
cf9f358f9e gcc: add missing mask blank in ctype_base.h 2016-03-04 18:01:05 +01:00
Jérôme Duval
7c77083396 gcc: Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets. 2016-03-04 17:58:26 +01:00
Jérôme Duval
137b14625b Merge gcc 5.3.0 2016-02-29 11:09:52 +01:00
Jérôme Duval
f8056f83f7 import gcc 5.3.0 2016-02-29 10:41:25 +01:00
Jérôme Duval
661fb7cf18 gcc4: revert partially 419211519c.
"* LINK_SPEC: Pass "-shared" to the linker only if it was passed to gcc; output
      position-independent executables by default;" is reverted to workaround a
link failure on gcc4 with binutils 2.26: add-ons objects would fail to link
against an executable (being no more a shared object). This is possibly temporary
until the need for executable as shared objects is fully reviewed.
2016-02-28 15:33:41 +01:00
Simon South
7af7a81a60 gcc2, gcc4: Correct LINK_SPEC
Correct LINK_SPEC so it

* Sets appropriate dynamic-link options for any type of dynamically
  linked executable, not only position-independent ones.
* Does not omit these options if "-pie" is specified by the user.
* Recognizes the "-static" option.
* Includes a hyphen previously missing from "--no-undefined".

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2015-11-04 17:35:16 +01:00
Simon South
a0d6e40ddd gcc: ppc: Remove now-redundant CC1_SPEC
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2015-10-28 18:05:34 +01:00
Simon South
0b1666ccbe binutils: ld: Set ELF interpreter to "/system/runtime_loader"
For x86_64 this includes defining a new linker emulation, "elf_x86_64_haiku"
(to match the existing "elf_i386_haiku") and updating gcc accordingly.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2015-10-28 18:05:28 +01:00
Simon South
bfa8159478 gcc: LINK_SPEC: Gently refactor
Update LINK_SPEC (for arm, i386, x86_64 and ppc) with more compact but
functionally equivalent sequences.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2015-10-28 18:05:22 +01:00
Simon South
aff4b1860d gcc: CC1_SPEC, LINK_SPEC: Wrap lines at 80 columns
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2015-10-28 18:05:15 +01:00
Simon South
419211519c gcc: Allow the user to build non-PI executables
* CC1_SPEC: Remove non-existent "no-fpic" command-line option; add
  "fno-PIC" and "fno-PIE" as options that disable the generation of
  position-independent code; use "-fPIC" by default.
* LINK_SPEC: Pass "-shared" to the linker only if it was passed to gcc; output
  position-independent executables by default; when linking executables, allow
  undefined symbols in shared libraries and export all symbols (to match the
  behaviour of "-shared").

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2015-10-28 18:05:10 +01:00
Jérôme Duval
7c3622a5de gcc: rest clean up after 15ab9ca51d. 2015-07-30 18:57:17 +02:00
Jérôme Duval
03e3047c8a gcc: don't define JCR_SECTION_NAME when TARGET_NO_JCR_SECTION_NAME.
We define TARGET_NO_JCR_SECTION_NAME in haiku.h and remove the hack in
defaults.h. Depending on __HAIKU__ at this place isn't correct.
2015-07-25 23:32:16 +02:00
Jérôme Duval
cd374ba049 gcc: clean up after 15ab9ca51d. 2015-07-25 21:06:48 +02:00
haiqu
15ab9ca51d MIPS: Fix cross-tools build.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2015-07-25 10:40:49 -04:00
Jérôme Duval
52fa22bd84 gcc: sync configure.ac with configure and regen. 2015-07-22 19:32:23 +02:00
Jérôme Duval
3801b878c2 Merge gcc 4.8.5 2015-07-11 09:17:00 +02:00
Jérôme Duval
a1af220a6f import gcc 4.8.5 2015-07-11 09:14:42 +02:00
François Revol
5ba2e24764 gcc: fix PPC LINK_SPEC so bootstrapping gcc works again
Same fix as btrev43088: turn off -no-undefined for -shared and -nostart.
2015-04-20 16:57:25 +02:00
François Revol
519355391e gcc: force -fPIC instead of -fpic by default on ppc
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.
2015-04-20 03:06:37 +02:00
François Revol
c5588ee1b4 gcc: update ppc linker emulation name 2015-04-20 00:11:14 +02:00
Jérôme Duval
1a00a76b58 Merge gcc 4.8.4 2014-12-21 12:11:47 +01:00
Jérôme Duval
514f593381 import gcc 4.8.4 2014-12-21 12:08:20 +01:00
Jessica Hamilton
c700a4fe64 Don't switch on -shared if the user specifies -r.
* Follow up to btrev43090, to include platforms missed in
  original commit.
2014-10-13 04:15:32 +00:00
Nick Smallbone
aeb1fcf62f Don't switch on -shared if the user specifies -r
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2014-10-04 14:41:05 +13:00
Ithamar R. Adema
6f9a8fa02b ARM/gcc: make LINK_SPEC match our other platforms.
It looks like shared/nostart was not properly handled. These changes
were copied from the x86_64 specs.
2014-08-21 16:41:43 +02:00
Oliver Tappe
4947d64591 Fix build failure on m68k and powerpc. 2014-07-26 19:50:18 +02:00
Oliver Tappe
ec31cc6bfc Explicitly link libgcc and cleanup search paths.
* 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/...).
2014-07-23 09:18:18 +02:00
Oliver Tappe
affbe90c4c Apply shared-library-related fixes to libtool.m4, too. 2014-07-22 17:07:52 +02:00
Oliver Tappe
9f6654f4a8 Use crtbeginS.o and crtendS.o for everything.
* 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).
2014-07-22 17:07:45 +02:00
Oliver Tappe
cece7c2f4b Fix configuration of libstdc++.
* 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.
2014-07-21 13:08:15 +02:00
Oliver Tappe
7579cd6798 Set missing executable flag on libgcc/configure. 2014-07-21 12:04:06 +02:00
Oliver Tappe
cb83cf1ca3 Adjust configuration for gcc/libgcc.
* 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
2014-07-21 12:03:51 +02:00
Jonathan Schleifer
17ba980278 Fix libstdc++ not using TLS when cross compiling 2014-07-19 23:04:37 +02:00
John Scipione
9d26d59ebc Remove trailing space in comment 2014-07-11 12:04:57 -04:00
Pawel Dziepak
3ad9ac2317 gcc: define [u]int*_t types 2014-05-28 02:02:01 +02:00
Jérôme Duval
c7a34f3d45 Merge gcc 4.8.3 2014-05-27 22:35:02 +02:00
Jérôme Duval
3b2e5a8b24 import gcc 4.8.3 2014-05-27 22:33:21 +02:00
Ithamar R. Adema
02dff6efa8 gcc/arm: include driver-arm.c for Haiku/ARM too
This was only done for Linux/ARM builds, but we need it to (otherwise
we'll get linker errors for several functions).
2014-02-17 14:12:52 +01:00
Jérôme Duval
78fb24b8ff gcc:libstdc++-v3: added a config os directory for Haiku.
* 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.
2014-02-05 23:34:52 +01:00
Jérôme Duval
37f5f1b71f gcc: define GOMP_SELF_SPECS for Haiku.
* avoids -lpthread when using -fopenmp.
2014-02-01 14:09:38 +01:00
Jérôme Duval
6121739fdd gcc: fixed m68k build. 2014-01-28 22:01:22 +01:00
Jérôme Duval
a283dac41e libgcc: revision 200390 from trunk by Chung-Ju Wu.
* Makefile.in (clean, distclean): Remove auto-target.h and stamp-h
correctly.
2014-01-26 18:57:43 +01:00
Jérôme Duval
f34aded965 libgcc: Maintain the same visibility as older GCC for now. Needed
because the static library is included in libroot.so.
2014-01-26 17:46:36 +01:00
Jérôme Duval
19d03df1eb Merge gcc 4.8.2
Conflicts:
	gcc/ChangeLog
	gcc/configure
	gcc/configure.ac
	gcc/gcc/config.gcc
	gcc/gcc/configure
	gcc/gcc/configure.ac
	gcc/libcpp/configure
	gcc/libcpp/configure.ac
	gcc/libgcc/Makefile.in
	gcc/libgcc/config.host
2014-01-22 17:53:50 +01:00
Jérôme Duval
ec21a8f0b8 import gcc 4.8.2 2014-01-21 21:04:08 +01:00
Alexander von Gluck IV
6126596774 gcc: Reduce header search paths to only required
* As per the mailing list discussions.
* Only include the kit header paths that are
  currently external
2014-01-16 09:38:48 -06:00
Alexander von Gluck IV
fd576c8d8a gcc: Adjust gcc header search paths
* 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
2014-01-14 17:52:48 -06:00
Ingo Weinhold
6d82b40597 Merge branch 'package-management' 2013-09-27 01:54:26 +02:00
Ingo Weinhold
b98135ed3a gcc 4: Fix the library search paths
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.
2013-08-12 13:00:44 +02:00
Ingo Weinhold
7a87db2a17 gcc 4 configure: extend --enable-hybrid-secondary
* 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.
2013-08-07 02:08:04 +02:00
Ingo Weinhold
1025a2a1a1 gcc 4: configure.ac: Add missing AC_SUBST for build_math_library 2013-08-07 01:40:06 +02:00
Ingo Weinhold
eddee0bfd6 gcc 4: fix math library fix for genautomata
* 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.
2013-08-04 03:00:54 +02:00
Ingo Weinhold
dee1a38d2c gcc 4: all Haiku os headers are C++ aware 2013-08-03 03:58:37 +02:00
Ingo Weinhold
b2de4f033b gcc 4: also prepend the sysroot to the common include dirs 2013-08-03 03:54:06 +02:00
Alex Smith
6e7ceb81be gcc: Don't default to -fomit-frame-pointer on x86_64.
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.
2013-07-27 16:06:05 +01:00
Oliver Tappe
e754012299 Avoid warning about c++ comments in header. 2013-07-08 00:15:23 +02:00
Oliver Tappe
db2a6d28f6 Merge branch 'master' into package-management
Conflicts:
	gcc/gcc/Makefile.in
	gcc/gcc/configure
2013-07-07 20:04:38 +02:00
Oliver Tappe
bf6a88ff3a Allow gcc4 to be built as the secondary compiler on a gcc2-hybrid
* 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
2013-07-07 18:12:57 +02:00
Alex Smith
0b4c64c23c Undefine HAVE_CASE_INSENSITIVE_FILE_SYSTEM on OS X to work around #9844.
Haiku should always be built using a case-sensitive FS on OS X, so it's fine
to just disable this assumption to work around the problem.
2013-07-04 11:39:59 +01:00
Jérôme Duval
3793707eda import gcc 4.8.1 2013-06-05 18:35:38 +02:00