Skip to content

Commit df780b4

Browse files
author
mrg
committed
enable "gcc -m32" support on amd64.
this can probably be ported to many prior GCC versions.
1 parent 46dbb53 commit df780b4

5 files changed

Lines changed: 43 additions & 5 deletions

File tree

lang/gcc15-libs/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $NetBSD: Makefile,v 1.1 2025/07/14 17:45:31 wiz Exp $
1+
# $NetBSD: Makefile,v 1.2 2025/08/04 02:48:25 mrg Exp $
22

33
GCC_PKGNAME= gcc15
44
.include "../../lang/${GCC_PKGNAME}/version.mk"
@@ -9,7 +9,7 @@ PKGNAME= ${GCC_PKGNAME}-libs-${GCC15_DIST_VERSION}
99
## The PKGREVISION of this package needs to be at least 1 more than the
1010
## PKGREVISION of the lang/gcc15 package so that with the dependence pattern
1111
## '{gcc15,gcc15-libs}>=15.1.*' pkg_add will choose gcc15-libs over gcc15.
12-
PKGREVISION= 1
12+
PKGREVISION= 2
1313

1414
CATEGORIES= lang
1515
MASTER_SITES= # empty

lang/gcc15/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# $NetBSD: Makefile,v 1.1 2025/07/14 17:44:53 wiz Exp $
1+
# $NetBSD: Makefile,v 1.2 2025/08/04 02:48:24 mrg Exp $
22

33
PKGNAME= ${GCC_PKGNAME}-${GCC15_DIST_VERSION}
44
## When bumping the PKGREVISION of this package the PKGREVISION of
55
## lang/gcc15-libs needs to be bumped to be at least 1 more than the
66
## PKGREVISION of this package!
7-
#PKGREVISION= 1
7+
PKGREVISION= 1
88
COMMENT= The GNU Compiler Collection (GCC) - 15.0 Release Series
99

1010
LANGS= c

lang/gcc15/distinfo

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
$NetBSD: distinfo,v 1.1 2025/07/14 17:44:53 wiz Exp $
1+
$NetBSD: distinfo,v 1.2 2025/08/04 02:48:24 mrg Exp $
22

33
BLAKE2s (gcc-15.1.0.tar.xz) = 260d64654fbfc0ee06540cc4604cd7071be53d616069a9dd57e5359a0b0ecf46
44
SHA512 (gcc-15.1.0.tar.xz) = ddd35ca6c653dffa88f7c7ef9ee4cd806e156e0f3b30f4d63e75a8363361285cd566ee73127734cde6a934611de815bee3e32e24bfd2e0ab9f7ff35c929821c1
@@ -7,13 +7,15 @@ BLAKE2s (isl-0.24.tar.xz) = a3013b0d39b7fe68a1b3e15dc7e925b347d555348ee946a80f53
77
SHA512 (isl-0.24.tar.xz) = ff6bdcff839e1cd473f2a0c1e4dd4a3612ec6fee4544ccbc62b530a7248db2cf93b4b99bf493a86ddf2aba00e768927265d5d411f92061ea85fd7929073428e8
88
Size (isl-0.24.tar.xz) = 1930956 bytes
99
SHA1 (patch-gcc_Makefile.in) = a31ddc27f1092cfdf5ac896ca79c8590b5aceb47
10+
SHA1 (patch-gcc_config.gcc) = 65126c56f0cd9027f66b5f677773dfa9973b451c
1011
SHA1 (patch-gcc_config.host) = bf95dd21bfdf79d173e745fbd35c9bb99fdf4087
1112
SHA1 (patch-gcc_config_aarch64_aarch64-netbsd.h) = abf19e2445bce1773162bddef16cd7f41eb36827
1213
SHA1 (patch-gcc_config_arm_arm.h) = 9d554349869d67d6393552c33a7824f0dd53cb11
1314
SHA1 (patch-gcc_config_arm_bpabi.h) = 0b0de5ad95442e34397cb46739ef6e36048d6f45
1415
SHA1 (patch-gcc_config_arm_elf.h) = 57748157084319cb92d892f2ea5b2f3355567551
1516
SHA1 (patch-gcc_config_arm_netbsd-eabi.h) = 85eb89de6f2e64fac50251f06d7e4eab35903dae
1617
SHA1 (patch-gcc_config_arm_netbsd-elf.h) = 568f537d624199ef9f9f56088fe4fff7e946b2e2
18+
SHA1 (patch-gcc_config_i386_t-netbsd64) = 914b4d2fd65f5e46681aa2ea592d0bc75299f09a
1719
SHA1 (patch-isl_configure) = a6295c509bdc82e8b54d7dec5252994532463091
1820
SHA1 (patch-libffi_configure) = 919bbe094e3ce547a0186eeaddb20a662595f79a
1921
SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 89e2dd6aaf2c1f75726f02362d8a8bf7178694ea
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
$NetBSD: patch-gcc_config.gcc,v 1.1 2025/08/04 02:48:24 mrg Exp $
2+
3+
Enable multilib support on amd64.
4+
5+
--- gcc/config.gcc.orig 2025-04-25 01:18:00.000000000 -0700
6+
+++ gcc/config.gcc 2025-08-03 17:22:06.592442114 -0700
7+
@@ -1992,6 +1992,7 @@
8+
;;
9+
x86_64-*-netbsd*)
10+
tm_file="${tm_file} i386/unix.h i386/att.h elfos.h ${nbsd_tm_file} i386/x86-64.h i386/netbsd64.h"
11+
+ tmake_file="${tmake_file} i386/t-netbsd64"
12+
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
13+
;;
14+
i[34567]86-*-openbsd*)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
$NetBSD: patch-gcc_config_i386_t-netbsd64,v 1.1 2025/08/04 02:48:24 mrg Exp $
2+
3+
Enable multilib support on amd64.
4+
5+
--- /dev/null 2025-08-03 17:17:47.388033634 -0700
6+
+++ gcc/config/i386/t-netbsd64 2025-08-03 17:20:16.285905032 -0700
7+
@@ -0,0 +1,15 @@
8+
+# NetBSD has "non-native" libraries in /usr/lib/<arch>.
9+
+# For NetBSD/amd64 we thus have /usr/lib and /usr/lib/i386.
10+
+
11+
+MULTILIB_OPTIONS = m64/m32
12+
+MULTILIB_DIRNAMES = 64 32
13+
+MULTILIB_OSDIRNAMES = . ../lib/i386
14+
+
15+
+LIBGCC = stmp-multilib
16+
+INSTALL_LIBGCC = install-multilib
17+
+
18+
+# The pushl in CTOR initialization interferes with frame pointer elimination.
19+
+# crtend*.o cannot be compiled without -fno-asynchronous-unwind-tables,
20+
+# because then __FRAME_END__ might not be the last thing in .eh_frame
21+
+# section.
22+
+CRTSTUFF_T_CFLAGS += -fno-omit-frame-pointer -fno-asynchronous-unwind-tables

0 commit comments

Comments
 (0)