552 Commits

Author SHA1 Message Date
gkoehler
9d7aef31b0 Unbreak lang/gcc/11 on powerpc with USE_LLD = No
It broke when ld.lld became the default powerpc linker.  USE_LLD = No
is the same workaround as in gcc 8.  Add a comment to both 8 and 11,

# powerpc lld can't link C++ code from gcc, "ld: error: relocation
# refers to a discarded section:" .data.rel.ro.* or
# .sdata.DW.ref.__gxx_personality_v0
USE_LLD = No

ok pascal@ (maintainer)
2021-08-24 18:13:19 +00:00
gkoehler
087bd55e9c Switch macppc to ld.lld
Add powerpc to LLD_ARCH, and bump _SYSTEM_VERSION-powerpc so people
will upgrade to lld-linked packages when they exist.  Remove
-Wl,--relax from several ports; ld.bfd needed this flag, but ld.lld
can't take it.

lang/gcc/8 needs USE_LLD = No, because LLD can't link C++ code from
gcc (error: relocation refers to a discarded section: ...), and also,
the adastrap is too old.

To avoid linker errors on macppc, you need a snapshot where
/usr/bin/ld is LLD.

ok sthen@
2021-08-21 03:25:05 +00:00
naddy
4ad9976283 bump for plist changes 6.9 -> 7.0 2021-08-17 20:22:02 +00:00
pascal
c2c645a439 + 11 2021-08-15 18:53:12 +00:00
pascal
d3cad5dda8 Add infrastructure for D. 2021-08-15 18:43:03 +00:00
pascal
3f48b6d9f3 Import GCC 11.
It still has problems on sparc64 and mips64, but we can continue to work on it
in-tree.

Thanks to bcallah@, we now have experimental support for the D language.

ok daniel@
2021-08-15 18:42:08 +00:00
pascal
7d63a0f078 Remove USE_LLD=No hack on i386. A fix for the R_386_GOTOFF bug has been
backported.

ok sthen@
2021-07-31 16:37:56 +00:00
sthen
350cf40556 remove ports libexecinfo, we now have a libunwind-based libexecinfo in base 2021-06-09 19:50:06 +00:00
gkoehler
70f1f4ebde Set powerpc64 LINK_SPEC to same as powerpc
ok pascal@ (maintainer)
ok kettenis@
2021-02-09 02:12:43 +00:00
naddy
7cf8c1e52e bump for plist changes 6.8 -> 6.9 2021-02-06 22:08:34 +00:00
gkoehler
bea053a8c6 Edit LINK_SPEC, fix static linking with ports-gcc
egcc -static was broken on most arches; the static binary wrongly
requested ld.so(1), but /usr/lib/rcrt0.o wants to do the relocation
without ld.so(1).  The fix is to drop ld.so,

    %{!static:-dynamic-linker /usr/libexec/ld.so}

Remove "%{!dynamic-linker:...}" because gcc -dynamic-linker is not an
option.  Correct "%{!r*:...}" to "%{!r:...}" because gcc -r doesn't
take an option argument.  Use "%{!nostdlib:-L/usr/lib}" on lld
arches, like base-gcc.

Edit the powerpc LINK_SPEC in rs6000/openbsd.h to be like the others.
Add "%{!nostdlib:-L/usr/lib}" so I can try lld on powerpc.  For now,
don't edit the powerpc64 LINK_SPEC.

ok pascal@ (maintainer)
2021-01-24 04:41:50 +00:00
kettenis
c465f9a263 Override another linker feature that isn't properly detected.
ok jasper@
2021-01-23 16:52:12 +00:00
kettenis
42a10c0938 Add powerpc64 support.
ok jasper@
2021-01-18 19:31:43 +00:00
sthen
4390801681 backout previous, old ld.bfd can't cope with new gas. found by naddy@
in seabios (sysutils/firmware/vmm).

/usr/bin/ld.bfd: scripts/kconfig/zconf.tab.o: invalid relocation type 42
/usr/bin/ld.bfd: BFD 2.17 assertion fail /usr/src/gnu/usr.bin/binutils-2.17/bfd/elf64-x86-64.c:259
...
/usr/bin/ld.bfd: scripts/kconfig/conf.o(.text+0x3b3): unresolvable L<8B>^]^A^Z^E relocation against symbol `__sF'
etc.
2020-11-14 00:00:39 +00:00
sthen
04eb73bc2f lang/gcc/8: use gas 2.31.1 from ports on amd64/i386 as well (already
used on aarch64/arm). The compiler emits opcodes in some cases which are
not supported by gas 2.17 in base. From Brad, maintainer timeout.
2020-11-13 17:16:05 +00:00
sthen
350ae20cdd update lang/gcc to 8.4.0, from Brad, ok pascal@
has been through bulk builds on i386 sparc64
2020-09-04 09:55:34 +00:00
naddy
c552ea72f3 bump for plist changes 6.7 -> 6.8 2020-08-31 22:20:49 +00:00
sthen
153872479b following the lead of base-clang, switch ports-gcc default to i586
from Brad, ok pascal@ (maintainer)
2020-08-08 16:48:48 +00:00
naddy
e8092ac1dd bump for plist changes 6.6 -> 6.7 2020-04-05 15:44:52 +00:00
cwen
c60fe1d7f8 gcc: move comment about syncing bsd.port.mk(5) when the ports-gcc major
version changes from gcc/8/Makefile to gcc/Makefile.

Proposed by and OK sthen@
2020-01-12 11:37:28 +00:00
cwen
452ca04d9e gcc/8: add a comment about syncing bsd.port.mk(5) when ports-gcc version
changes.

Reworded by and OK espie@, OK pascal@ (maintainer)
2020-01-11 12:49:46 +00:00
cwen
3e5c90e3dd gcc/8: re-enable Ada on powerpc by providing a new bootstrap.
Thanks and OK naddy@
2019-12-03 21:18:26 +00:00
naddy
2e247d1fa7 disable Ada on powerpc; the required new bootstrap has not become
available in three weeks
2019-11-30 18:20:53 +00:00
naddy
8ab80b6257 new adastraps that include all required shared libs 2019-11-30 18:16:47 +00:00
visa
1585d5409e Update mips64 adastrap. 2019-11-20 14:19:12 +00:00
naddy
dd2ea01f65 Revise the adastrap build such that it extracts the list of required
shared libraries directly from the cc1 binary and includes all of
them in the new bootstrap.
ok sthen@ pascal@
2019-11-09 10:50:12 +00:00
naddy
41b4ee2be3 REVISION must not go back 2019-09-07 23:32:43 +00:00
daniel
26438191d5 Minor cleanups:
- remove no-longer needed g77 and java subpackages.
- remove an outdated patch comment
- move HOMEPAGE from http -> https
- bump all subpackages due to HOMEPAGE change

ok pascal@ (MAINTAINER)
2019-09-07 19:32:44 +00:00
cwen
46732a64cc gcc/8: add crt* symbols on powerpc
These symbols are needed at least for php-7.3.

Tips (thanks a lot!) and OK pascal@
2019-08-11 20:53:07 +00:00
naddy
15934c06f0 bump for plist changes 6.5 -> 6.6 2019-08-10 19:41:07 +00:00
naddy
c48e5fa246 remove gcc 4.9, no longer hooked up to the build; ok sthen@ 2019-08-10 17:58:17 +00:00
visa
63897ab705 Update mips64 adastrap. 2019-08-04 12:54:10 +00:00
landry
d1a16a728e New adastrap for powerpc to go over the realpath bump, unbreaks 5k+
ports requiring gcc8 for c++.
2019-08-01 08:49:04 +00:00
sthen
2efb30d240 regen i386 ada bootstrap, I think I had messed up patching previously because
it was still not working on a new-realpath system.
2019-07-30 22:17:59 +00:00
naddy
106ab15aa0 Fix the Ada build now that realpath(3) conforms to POSIX and returns
an error if the last component of the path does not exist.

This is a bug in libgnat.  The System.File_IO.Open function calls
full_name -> __gnat_full_name -> realpath on files that have not
yet been created.  The Linux realpath was considered lacking, so a
different approach is used there.  We now remove OpenBSD from the
#ifdef of operating systems supporting realpath and follow the Linux
code path.

New Ada bootstraps are required.

ok sthen@ pascal@
2019-07-23 21:17:47 +00:00
sthen
485792605b replace simple PERMIT_PACKAGE_CDROM=Yes with PERMIT_PACKAGE=Yes 2019-07-12 21:02:12 +00:00
sthen
a1e533281d sync WANTLIB 2019-06-13 17:00:47 +00:00
pascal
2b209d94f9 Adjust gcc specs to not pass -dynamic-linker to ld if -shared is given on
the command line.  This resulted in shared libraries with an .interp section,
confusing plist generation tools.

Discussed with espie@, guenther@ and kettenis@; initial patch from espie@.

ok espie@
2019-05-20 14:59:05 +00:00
sthen
42dc443195 Use ld.bfd to link math/py-scipy and telephony/asterisk on i386, like gcc/8
itself they fail with "has non-ABS relocation R_386_GOTOFF against symbol XXX"
with LLD.

Mention these ports in the comment in lang/gcc/8/Makefile.
2019-05-01 12:12:24 +00:00
sthen
2c27dd61de remove the znotext suggestion from the i386 comment, same issue with
"ld: error: XX: has non-ABS relocation R_386_GOTOFF against symbol 'XX'"
is seen on other ports (telephony/asterisk, math/py-scipy) when built
with gcc 8 and znotext does not help there, so is unlikely to help here
either.
2019-05-01 11:53:03 +00:00
sthen
a2d7c33b2a use ld.bfd to link gcc/8 on i386 to unbreak; I haven't figured out how to
pass notext across yet and having this broken knocks out getting on for
a quarter of the ports tree on i386 (mostly via fortran).
2019-04-30 13:15:33 +00:00
naddy
fd7bddaad3 stop special handling of MODGCC4_LANGS=java; it's gone from the tree 2019-04-29 15:27:01 +00:00
naddy
b7e8ac93a7 Switch ports-gcc to GCC 8.3.0:
* switch gcc4 module to gcc/8
* register the gcc/8 subpackages as updates for their gcc/4.9 counterparts
* sync the gcc version in devel/llvm
* add a quirk entry that gcj is obsolete
* unhook 4.9 from the build

Preparatory work by many.
ok sthen@
2019-04-27 21:26:34 +00:00
naddy
e26af033ba Remove GCC 6. Never connected to the build, now obsoleted by GCC 8.
ok pascal@
2019-04-25 15:25:15 +00:00
naddy
c7ccad6525 take ownership of a directory that had accidentally been omitted; ok sthen@ 2019-04-22 20:50:34 +00:00
naddy
305d688b62 fix warning and future error about unescaped left brace in perl regex 2019-04-16 15:35:30 +00:00
pascal
d5c575b948 Update to GCC 8.3.0, and regenerate bootstrap on amd64, hppa and powerpc.
Also tested on armv7, arm64 and sparc64.

Earlier diff from Brad.
2019-03-25 20:17:46 +00:00
jca
c5859b7f0c Our stddef.h provides max_align_t, let cstddef provide std::max_align_t
This unbreaks www/webkitgtk4 on sparc64.  ok pascal@ (maintainer)
2019-03-24 16:47:48 +00:00
naddy
b1eb1d48fd bump for plist changes 6.4 -> 6.5 2019-02-28 01:52:37 +00:00
otto
74e6bb8161 Apply stackghost stack unwinding fix for sparc64 here as well; ok jca@ 2019-02-12 18:37:17 +00:00