227 Commits

Author SHA1 Message Date
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 419211519c79edc7af6fca9c6a3233129ec54d7d.
"* 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 15ab9ca51d2. 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 15ab9ca51d2. 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