mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-15 13:46:58 +02:00
gcc: update to 13.2.0. (nocross)
This commit is contained in:
parent
7f55bd5830
commit
e934cce81b
10 changed files with 353 additions and 304 deletions
|
@ -63,7 +63,7 @@ libcc1plugin.so.0 gcc-6.2.1_1
|
|||
libitm.so.1 libitm-4.7.3_1
|
||||
liblto_plugin.so.0 gcc-4.7.3_1
|
||||
libgcc_s.so.1 libgcc-4.4.0_1
|
||||
libgo.so.21 libgo-12.2.0_1
|
||||
libgo.so.22 libgo-13.2.0_1
|
||||
libgccjit.so.0 libgccjit-10.2.1pre1_1
|
||||
libperl.so.5.38 perl-5.38.0_1
|
||||
libgmp.so.10 gmp-5.0.1_1
|
||||
|
@ -855,8 +855,8 @@ libgdkmm-2.4.so.1 gtkmm2-2.24.0_1
|
|||
libgtkmm-2.4.so.1 gtkmm2-2.24.0_1
|
||||
libquadmath.so.0 libquadmath-4.4.0_1
|
||||
libgfortran.so.5 libgfortran-8.2.0_1
|
||||
libgnarl-12.so libada-12.2.0_1
|
||||
libgnat-12.so libada-12.2.0_1
|
||||
libgnarl-13.so libada-13.2.0_1
|
||||
libgnat-13.so libada-13.2.0_1
|
||||
libsharpyuv.so.0 libsharpyuv-1.3.0_1
|
||||
libwebp.so.7 libwebp-0.6.0_1
|
||||
libwebpmux.so.3 libwebp-0.6.0_1
|
||||
|
@ -1669,6 +1669,7 @@ libubsan.so.1 libsanitizer-8.2.0_1
|
|||
libtsan.so.2 libsanitizer-12.2.0_1
|
||||
libasan.so.8 libsanitizer-12.2.0_1
|
||||
liblsan.so.0 libsanitizer-6.3.0_1
|
||||
libhwasan.so.0 libsanitizer-13.2.0_1
|
||||
libvtv.so.0 libvtv-6.3.0_1
|
||||
libatomic.so.1 libatomic-4.9.0_1
|
||||
libpcsclite.so.1 libpcsclite-1.8.11_1
|
||||
|
|
|
@ -1,173 +1,199 @@
|
|||
This is not among the normal patches as these changes are musl specific and
|
||||
there is no way to easily conditionalize it in source for some of the changes.
|
||||
|
||||
Added by q66: runtime.h now uses libucontext_ prefixed APIs to allow build
|
||||
with freestanding versions of libucontext
|
||||
|
||||
Souurce: Adélie Linux, q66
|
||||
URL: https://code.foxkit.us/adelie/packages/tree/master/system/gcc
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -46325,7 +46325,7 @@ configure-target-libgo:
|
||||
esac; \
|
||||
module_srcdir=libgo; \
|
||||
rm -f no-such-file || : ; \
|
||||
- CONFIG_SITE=no-such-file $(SHELL) \
|
||||
+ CONFIG_SITE=no-such-file LIBS="-lucontext $$LIBS" $(SHELL) \
|
||||
$$s/$$module_srcdir/configure \
|
||||
--srcdir=$${topdir}/$$module_srcdir \
|
||||
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
--- a/libgo/mksysinfo.sh
|
||||
+++ b/libgo/mksysinfo.sh
|
||||
@@ -379,11 +379,7 @@ fi
|
||||
# Some basic types.
|
||||
echo 'type Size_t _size_t' >> ${OUT}
|
||||
echo "type Ssize_t _ssize_t" >> ${OUT}
|
||||
-if grep '^const _HAVE_OFF64_T = ' gen-sysinfo.go > /dev/null 2>&1; then
|
||||
- echo "type Offset_t _off64_t" >> ${OUT}
|
||||
-else
|
||||
- echo "type Offset_t _off_t" >> ${OUT}
|
||||
-fi
|
||||
+echo "type Offset_t _off_t" >> ${OUT}
|
||||
echo "type Mode_t _mode_t" >> ${OUT}
|
||||
echo "type Pid_t _pid_t" >> ${OUT}
|
||||
echo "type Uid_t _uid_t" >> ${OUT}
|
||||
--- a/libgo/go/runtime/mem_gccgo.go
|
||||
+++ b/libgo/go/runtime/mem_gccgo.go
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
//go:linkname sysFree runtime.sysFree
|
||||
From 4bfcb35bc43d3e3b7510620362d7c28d9e4c17ca Mon Sep 17 00:00:00 2001
|
||||
From: psykose <alice@ayaya.dev>
|
||||
Date: Mon, 10 Jul 2023 23:23:29 +0000
|
||||
Subject: [PATCH 34/35] libgo: fix lfs64 use
|
||||
|
||||
---
|
||||
.../go/internal/syscall/unix/at_largefile.go | 2 +-
|
||||
libgo/go/os/dir_largefile.go | 2 +-
|
||||
libgo/go/syscall/libcall_glibc.go | 2 +-
|
||||
libgo/go/syscall/libcall_linux.go | 4 +--
|
||||
libgo/go/syscall/libcall_posix_largefile.go | 26 +++++++++----------
|
||||
libgo/runtime/go-varargs.c | 2 +-
|
||||
libgo/sysinfo.c | 9 +++----
|
||||
7 files changed, 22 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/libgo/go/internal/syscall/unix/at_largefile.go b/libgo/go/internal/syscall/unix/at_largefile.go
|
||||
index 82e0dcfd074..16151ecad1b 100644
|
||||
--- a/libgo/go/internal/syscall/unix/at_largefile.go
|
||||
+++ b/libgo/go/internal/syscall/unix/at_largefile.go
|
||||
@@ -10,5 +10,5 @@ import (
|
||||
"syscall"
|
||||
)
|
||||
|
||||
//extern mmap
|
||||
-func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) unsafe.Pointer
|
||||
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) unsafe.Pointer
|
||||
-//extern fstatat64
|
||||
+//extern fstatat
|
||||
func fstatat(int32, *byte, *syscall.Stat_t, int32) int32
|
||||
diff --git a/libgo/go/os/dir_largefile.go b/libgo/go/os/dir_largefile.go
|
||||
index 1fc5ee0771f..0c6dffe1a75 100644
|
||||
--- a/libgo/go/os/dir_largefile.go
|
||||
+++ b/libgo/go/os/dir_largefile.go
|
||||
@@ -11,5 +11,5 @@ package os
|
||||
|
||||
//extern munmap
|
||||
func munmap(addr unsafe.Pointer, length uintptr) int32
|
||||
@@ -38,7 +38,7 @@ func init() {
|
||||
}
|
||||
import "syscall"
|
||||
|
||||
-//extern readdir64
|
||||
+//extern readdir
|
||||
func libc_readdir(*syscall.DIR) *syscall.Dirent
|
||||
diff --git a/libgo/go/syscall/libcall_glibc.go b/libgo/go/syscall/libcall_glibc.go
|
||||
index 5c1ec483c75..5a1245ed44b 100644
|
||||
--- a/libgo/go/syscall/libcall_glibc.go
|
||||
+++ b/libgo/go/syscall/libcall_glibc.go
|
||||
@@ -114,7 +114,7 @@ func Pipe2(p []int, flags int) (err error) {
|
||||
}
|
||||
|
||||
-func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) {
|
||||
+func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) (unsafe.Pointer, int) {
|
||||
p := sysMmap(addr, n, prot, flags, fd, off)
|
||||
if uintptr(p) == _MAP_FAILED {
|
||||
return nil, errno()
|
||||
--- a/libgo/go/syscall/errstr.go
|
||||
+++ b/libgo/go/syscall/errstr.go
|
||||
@@ -5,7 +5,6 @@
|
||||
// license that can be found in the LICENSE file.
|
||||
//sys sendfile(outfd int, infd int, offset *Offset_t, count int) (written int, err error)
|
||||
-//sendfile64(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t
|
||||
+//sendfile(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t
|
||||
|
||||
// +build !hurd
|
||||
-// +build !linux
|
||||
|
||||
package syscall
|
||||
|
||||
--- a/libgo/go/syscall/errstr_glibc.go
|
||||
+++ /dev/null
|
||||
@@ -1,33 +0,0 @@
|
||||
-// errstr_glibc.go -- GNU/Linux and GNU/Hurd specific error strings.
|
||||
-
|
||||
-// Copyright 2010 The Go Authors. All rights reserved.
|
||||
-// Use of this source code is governed by a BSD-style
|
||||
-// license that can be found in the LICENSE file.
|
||||
-
|
||||
-// We use this rather than errstr.go because on GNU/Linux sterror_r
|
||||
-// returns a pointer to the error message, and may not use buf at all.
|
||||
-
|
||||
-// +build hurd linux
|
||||
-
|
||||
-package syscall
|
||||
-
|
||||
-import "unsafe"
|
||||
-
|
||||
-//sysnb strerror_r(errnum int, b []byte) (errstr *byte)
|
||||
-//strerror_r(errnum _C_int, b *byte, len Size_t) *byte
|
||||
-
|
||||
-func Errstr(errnum int) string {
|
||||
- a := make([]byte, 128)
|
||||
- p := strerror_r(errnum, a)
|
||||
- b := (*[1000]byte)(unsafe.Pointer(p))
|
||||
- i := 0
|
||||
- for b[i] != 0 {
|
||||
- i++
|
||||
- }
|
||||
- // Lowercase first letter: Bad -> bad, but STREAM -> STREAM.
|
||||
- if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
|
||||
- c := b[0] + 'a' - 'A'
|
||||
- return string(c) + string(b[1:i])
|
||||
- }
|
||||
- return string(b[:i])
|
||||
-}
|
||||
func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
|
||||
if race.Enabled {
|
||||
diff --git a/libgo/go/syscall/libcall_linux.go b/libgo/go/syscall/libcall_linux.go
|
||||
index 03ca7261b59..ad21fd0b3ac 100644
|
||||
--- a/libgo/go/syscall/libcall_linux.go
|
||||
+++ b/libgo/go/syscall/libcall_linux.go
|
||||
@@ -206,19 +206,19 @@ func Gettid() (tid int) {
|
||||
//sys Setxattr(path string, attr string, data []byte, flags int) (err error)
|
||||
//setxattr(path *byte, name *byte, value *byte, size Size_t, flags _C_int) _C_int
|
||||
@@ -158,7 +158,7 @@ func Reboot(cmd int) (err error) {
|
||||
//adjtimex(buf *Timex) _C_int
|
||||
|
||||
//sys Fstatfs(fd int, buf *Statfs_t) (err error)
|
||||
-//fstatfs64(fd _C_int, buf *Statfs_t) _C_int
|
||||
+//fstatfs(fd _C_int, buf *Statfs_t) _C_int
|
||||
|
||||
func Gettid() (tid int) {
|
||||
r1, _, _ := Syscall(SYS_GETTID, 0, 0, 0)
|
||||
@@ -245,7 +245,7 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
|
||||
}
|
||||
|
||||
//sys Statfs(path string, buf *Statfs_t) (err error)
|
||||
-//statfs64(path *byte, buf *Statfs_t) _C_int
|
||||
+//statfs(path *byte, buf *Statfs_t) _C_int
|
||||
|
||||
//sysnb Sysinfo(info *Sysinfo_t) (err error)
|
||||
//sysinfo(info *Sysinfo_t) _C_int
|
||||
diff --git a/libgo/go/syscall/libcall_posix_largefile.go b/libgo/go/syscall/libcall_posix_largefile.go
|
||||
index f90055bb29a..334212f0af1 100644
|
||||
--- a/libgo/go/syscall/libcall_posix_largefile.go
|
||||
+++ b/libgo/go/syscall/libcall_posix_largefile.go
|
||||
@@ -10,40 +10,40 @@
|
||||
package syscall
|
||||
|
||||
//sys Creat(path string, mode uint32) (fd int, err error)
|
||||
-//creat64(path *byte, mode Mode_t) _C_int
|
||||
+//creat(path *byte, mode Mode_t) _C_int
|
||||
|
||||
//sys Fstat(fd int, stat *Stat_t) (err error)
|
||||
-//fstat64(fd _C_int, stat *Stat_t) _C_int
|
||||
+//fstat(fd _C_int, stat *Stat_t) _C_int
|
||||
|
||||
//sys Ftruncate(fd int, length int64) (err error)
|
||||
-//ftruncate64(fd _C_int, length Offset_t) _C_int
|
||||
+//ftruncate(fd _C_int, length Offset_t) _C_int
|
||||
|
||||
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
|
||||
-//getrlimit64(resource _C_int, rlim *Rlimit) _C_int
|
||||
+//getrlimit(resource _C_int, rlim *Rlimit) _C_int
|
||||
|
||||
//sys Lstat(path string, stat *Stat_t) (err error)
|
||||
-//lstat64(path *byte, stat *Stat_t) _C_int
|
||||
+//lstat(path *byte, stat *Stat_t) _C_int
|
||||
|
||||
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
|
||||
-//mmap64(addr *byte, length Size_t, prot _C_int, flags _C_int, fd _C_int, offset Offset_t) *byte
|
||||
+//mmap(addr *byte, length Size_t, prot _C_int, flags _C_int, fd _C_int, offset Offset_t) *byte
|
||||
|
||||
//sys Open(path string, mode int, perm uint32) (fd int, err error)
|
||||
-//__go_open64(path *byte, mode _C_int, perm Mode_t) _C_int
|
||||
+//__go_open(path *byte, mode _C_int, perm Mode_t) _C_int
|
||||
|
||||
//sys Pread(fd int, p []byte, offset int64) (n int, err error)
|
||||
-//pread64(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
|
||||
+//pread(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
|
||||
|
||||
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
|
||||
-//pwrite64(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
|
||||
+//pwrite(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
|
||||
|
||||
//sys Seek(fd int, offset int64, whence int) (off int64, err error)
|
||||
-//lseek64(fd _C_int, offset Offset_t, whence _C_int) Offset_t
|
||||
+//lseek(fd _C_int, offset Offset_t, whence _C_int) Offset_t
|
||||
|
||||
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
|
||||
-//setrlimit64(resource int, rlim *Rlimit) _C_int
|
||||
+//setrlimit(resource int, rlim *Rlimit) _C_int
|
||||
|
||||
//sys Stat(path string, stat *Stat_t) (err error)
|
||||
-//stat64(path *byte, stat *Stat_t) _C_int
|
||||
+//stat(path *byte, stat *Stat_t) _C_int
|
||||
|
||||
//sys Truncate(path string, length int64) (err error)
|
||||
-//truncate64(path *byte, length Offset_t) _C_int
|
||||
+//truncate(path *byte, length Offset_t) _C_int
|
||||
diff --git a/libgo/runtime/go-varargs.c b/libgo/runtime/go-varargs.c
|
||||
index f84860891e6..7efc9615985 100644
|
||||
--- a/libgo/runtime/go-varargs.c
|
||||
+++ b/libgo/runtime/go-varargs.c
|
||||
@@ -84,7 +84,7 @@ __go_ioctl_ptr (int d, int request, void *arg)
|
||||
int
|
||||
__go_open64 (char *path, int mode, mode_t perm)
|
||||
{
|
||||
- return open64 (path, mode, perm);
|
||||
+ return open (path, mode, perm);
|
||||
}
|
||||
|
||||
-//sys splice(rfd int, roff *_loff_t, wfd int, woff *_loff_t, len int, flags int) (n int64, err error)
|
||||
-//splice(rfd _C_int, roff *_loff_t, wfd _C_int, woff *_loff_t, len Size_t, flags _C_uint) Ssize_t
|
||||
+//sys splice(rfd int, roff *_off_t, wfd int, woff *_off_t, len int, flags int) (n int64, err error)
|
||||
+//splice(rfd _C_int, roff *_off_t, wfd _C_int, woff *_off_t, len Size_t, flags _C_uint) Ssize_t
|
||||
func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
|
||||
- var lroff _loff_t
|
||||
- var plroff *_loff_t
|
||||
+ var lroff _off_t
|
||||
+ var plroff *_off_t
|
||||
if roff != nil {
|
||||
- lroff = _loff_t(*roff)
|
||||
+ lroff = _off_t(*roff)
|
||||
plroff = &lroff
|
||||
}
|
||||
- var lwoff _loff_t
|
||||
- var plwoff *_loff_t
|
||||
+ var lwoff _off_t
|
||||
+ var plwoff *_off_t
|
||||
if woff != nil {
|
||||
- lwoff = _loff_t(*woff)
|
||||
+ lwoff = _off_t(*woff)
|
||||
plwoff = &lwoff
|
||||
}
|
||||
n, err = splice(rfd, plroff, wfd, plwoff, len, flags)
|
||||
--- a/libgo/runtime/runtime.h
|
||||
+++ b/libgo/runtime/runtime.h
|
||||
@@ -500,10 +500,13 @@ int __go_setcontext(__go_context_t*);
|
||||
void __go_makecontext(__go_context_t*, void (*)(), void*, size_t);
|
||||
#else
|
||||
#define __go_context_t ucontext_t
|
||||
-#define __go_getcontext(c) getcontext(c)
|
||||
-#define __go_setcontext(c) setcontext(c)
|
||||
+int libucontext_getcontext(__go_context_t *);
|
||||
+void libucontext_makecontext(__go_context_t *, void (*)(), int, ...);
|
||||
+int libucontext_setcontext(const __go_context_t *);
|
||||
+#define __go_getcontext(c) libucontext_getcontext(c)
|
||||
+#define __go_setcontext(c) libucontext_setcontext(c)
|
||||
#define __go_makecontext(c, fn, sp, size) \
|
||||
- ((c)->uc_stack.ss_sp = sp, (c)->uc_stack.ss_size = size, makecontext(c, fn, 0))
|
||||
+ ((c)->uc_stack.ss_sp = sp, (c)->uc_stack.ss_size = size, libucontext_makecontext(c, fn, 0))
|
||||
#endif
|
||||
|
||||
// Symbols defined by the linker.
|
||||
diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
|
||||
index 180f5c31d74..1d717d55c0e 100644
|
||||
--- a/libgo/sysinfo.c
|
||||
+++ b/libgo/sysinfo.c
|
||||
@@ -73,9 +73,6 @@
|
||||
#include <sys/times.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/un.h>
|
||||
-#if defined(HAVE_SYS_USER_H)
|
||||
-#include <sys/user.h>
|
||||
-#endif
|
||||
#if defined(HAVE_SYS_UTSNAME_H)
|
||||
#include <sys/utsname.h>
|
||||
@@ -366,7 +366,7 @@ typedef loff_t libgo_loff_t_type;
|
||||
#endif
|
||||
--- a/libgo/go/runtime/os_linux.go
|
||||
+++ b/libgo/go/runtime/os_linux.go
|
||||
@@ -365,7 +365,7 @@ func setThreadCPUProfiler(hz int32) {
|
||||
var sevp _sigevent
|
||||
sevp.sigev_notify = _SIGEV_THREAD_ID
|
||||
sevp.sigev_signo = _SIGPROF
|
||||
- *((*int32)(unsafe.Pointer(&sevp._sigev_un))) = int32(mp.procid)
|
||||
+ *((*int32)(unsafe.Pointer(&sevp.__sev_fields))) = int32(mp.procid)
|
||||
ret := timer_create(_CLOCK_THREAD_CPUTIME_ID, &sevp, &timerid)
|
||||
if ret != 0 {
|
||||
// If we cannot create a timer for this M, leave profileTimerValid false
|
||||
|
||||
#if defined(HAVE_OFF64_T)
|
||||
-typedef off64_t libgo_off_t_type;
|
||||
+typedef off_t libgo_off_t_type;
|
||||
#else
|
||||
typedef off_t libgo_off_t_type;
|
||||
#endif
|
||||
@@ -398,13 +398,11 @@ typedef off_t libgo_off_t_type;
|
||||
|
||||
// From dirent.h
|
||||
SREF(dirent);
|
||||
-SREF(dirent64);
|
||||
OTREF(DIR);
|
||||
EREF(DT_UNKNOWN);
|
||||
|
||||
// From fcntl.h
|
||||
SREF(flock);
|
||||
-SREF(flock64);
|
||||
|
||||
// From ffi headers
|
||||
SREF(_ffi_type);
|
||||
@@ -485,11 +483,10 @@ EREF(SS_ONSTACK);
|
||||
EREF(SEGV_MAPERR);
|
||||
|
||||
// From stat.h
|
||||
-SREF(stat64);
|
||||
+SREF(stat);
|
||||
|
||||
// From statfs.h
|
||||
SREF(statfs);
|
||||
-SREF(statfs64);
|
||||
|
||||
// From sysinfo.h
|
||||
SREF(sysinfo);
|
||||
@@ -519,7 +516,7 @@ EREF(PTRACE_PEEKTEXT);
|
||||
|
||||
// From sys/resource.h
|
||||
SREF(rusage);
|
||||
-SREF(rlimit64);
|
||||
+SREF(rlimit);
|
||||
EREF(RLIMIT_NOFILE);
|
||||
EREF(PRIO_USER);
|
||||
EREF(RUSAGE_SELF);
|
||||
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
First part taken from Alpine.
|
||||
|
||||
Second part added to prevent gccgo from thinking it can -fsplit-stack on musl.
|
||||
|
||||
--- a/gcc/gcc.cc
|
||||
+++ b/gcc/gcc.cc
|
||||
@@ -984,10 +984,15 @@ proper position among the other output f
|
||||
|
@ -42,29 +40,3 @@ Second part added to prevent gccgo from thinking it can -fsplit-stack on musl.
|
|||
The lower bound for a buffer to be considered for stack smashing protection.
|
||||
|
||||
-param=stack-clash-protection-guard-size=
|
||||
--- a/gcc/config/i386/gnu-user-common.h
|
||||
+++ b/gcc/config/i386/gnu-user-common.h
|
||||
@@ -64,9 +64,3 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
/* Static stack checking is supported by means of probes. */
|
||||
#define STACK_CHECK_STATIC_BUILTIN 1
|
||||
-
|
||||
-/* We only build the -fsplit-stack support in libgcc if the
|
||||
- assembler has full support for the CFI directives. */
|
||||
-#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
|
||||
-#define TARGET_CAN_SPLIT_STACK
|
||||
-#endif
|
||||
--- a/gcc/config/i386/gnu.h
|
||||
+++ b/gcc/config/i386/gnu.h
|
||||
@@ -40,11 +40,6 @@ along with GCC. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* i386 glibc provides __stack_chk_guard in %gs:0x14. */
|
||||
#define TARGET_THREAD_SSP_OFFSET 0x14
|
||||
|
||||
-/* We only build the -fsplit-stack support in libgcc if the
|
||||
- assembler has full support for the CFI directives. */
|
||||
-#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
|
||||
-#define TARGET_CAN_SPLIT_STACK
|
||||
-#endif
|
||||
/* We steal the last transactional memory word. */
|
||||
#define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
|
||||
#endif
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
|
||||
From: Ian Lance Taylor <iant@golang.org>
|
||||
Date: Wed, 29 Jun 2022 15:32:04 -0700
|
||||
Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Patches for musl support, from Sören Tempel.
|
||||
|
||||
Fixes https://gcc.gnu.org/PR105225
|
||||
|
||||
Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
|
||||
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
|
||||
Reviewed-by: Than McIntosh <thanm@google.com>
|
||||
Reviewed-by: Ian Lance Taylor <iant@google.com>
|
||||
---
|
||||
libgo/mksysinfo.sh | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
|
||||
index 5aa30915..ea1fa17d 100755
|
||||
--- a/libgo/mksysinfo.sh
|
||||
+++ b/libgo/mksysinfo.sh
|
||||
@@ -127,6 +127,7 @@ fi
|
||||
|
||||
# The syscall numbers. We force the names to upper case.
|
||||
grep '^const _SYS_' gen-sysinfo.go | \
|
||||
+ grep -v '^const _SYS_SECCOMP = ' | \
|
||||
sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
|
||||
while read sys; do
|
||||
sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
|
||||
@@ -506,7 +507,7 @@ fi
|
||||
|
||||
# For historical reasons Go uses the suffix "timespec" instead of "tim" for
|
||||
# stat_t's time fields on NetBSD.
|
||||
-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
|
||||
+st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
|
||||
if test "${GOOS}" = "netbsd"; then
|
||||
st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
|
||||
fi
|
|
@ -28,13 +28,34 @@ When adding a new platform, fix this up too.
|
|||
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
|
||||
--- a/gcc/config/mips/t-linux64
|
||||
+++ b/gcc/config/mips/t-linux64
|
||||
@@ -21,6 +21,6 @@ MULTILIB_DIRNAMES = n32 32 64
|
||||
@@ -20,26 +20,7 @@ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi
|
||||
MULTILIB_DIRNAMES = n32 32 64
|
||||
MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
|
||||
MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
|
||||
MULTILIB_OSDIRNAMES = \
|
||||
-ifeq (yes,$(enable_multiarch))
|
||||
- ifneq (,$(findstring gnuabi64,$(target)))
|
||||
- MULTILIB_OSDIRNAMES = \
|
||||
- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
||||
- ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
||||
- ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
||||
- else ifneq (,$(findstring gnuabin32,$(target)))
|
||||
- MULTILIB_OSDIRNAMES = \
|
||||
- ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
||||
- ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
||||
- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
||||
- else
|
||||
- MULTILIB_OSDIRNAMES = \
|
||||
- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
||||
- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
||||
- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
||||
- endif
|
||||
-else
|
||||
- MULTILIB_OSDIRNAMES = \
|
||||
- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
||||
- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
||||
- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
||||
-endif
|
||||
+MULTILIB_OSDIRNAMES = \
|
||||
+ ../lib32 \
|
||||
+ ../lib \
|
||||
+ ../lib64
|
||||
|
|
|
@ -106,22 +106,28 @@ diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cp
|
|||
index a04eed7aa5a6e3..6d61d276d77e35 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||
@@ -154,7 +154,6 @@ typedef struct user_fpregs elf_fpregset_
|
||||
#include <linux/serial.h>
|
||||
#include <sys/msg.h>
|
||||
#include <sys/ipc.h>
|
||||
@@ -177,10 +177,6 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
# include "sanitizer_platform_interceptors.h"
|
||||
# include "sanitizer_platform_limits_posix.h"
|
||||
|
||||
-#if SANITIZER_INTERCEPT_CRYPT_R
|
||||
-#include <crypt.h>
|
||||
#endif // SANITIZER_ANDROID
|
||||
|
||||
#include <link.h>
|
||||
@@ -254,7 +253,6 @@ namespace __sanitizer {
|
||||
unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
|
||||
unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
|
||||
-#endif
|
||||
-
|
||||
namespace __sanitizer {
|
||||
unsigned struct_utsname_sz = sizeof(struct utsname);
|
||||
unsigned struct_stat_sz = sizeof(struct stat);
|
||||
@@ -300,10 +296,6 @@ namespace __sanitizer {
|
||||
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
|
||||
- unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
|
||||
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
#endif // SANITIZER_GLIBC
|
||||
|
||||
-#if SANITIZER_INTERCEPT_CRYPT_R
|
||||
- unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
|
||||
-#endif
|
||||
-
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
unsigned struct_timex_sz = sizeof(struct timex);
|
||||
unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
|
||||
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
index e6f298c26e1fb6..58244c9944a03a 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
From f4029de35fb1b293a4fd586574b1b4b73ddf7880 Mon Sep 17 00:00:00 2001
|
||||
From: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||||
Date: Wed, 26 Jul 2023 22:36:26 +0530
|
||||
Subject: [PATCH] [aarch64/match.pd] Fix ICE observed in PR110280.
|
||||
|
||||
gcc/ChangeLog:
|
||||
PR tree-optimization/110280
|
||||
* match.pd (vec_perm_expr(v, v, mask) -> v): Explicitly build vector
|
||||
using build_vector_from_val with the element of input operand, and
|
||||
mask's type if operand and mask's types don't match.
|
||||
|
||||
gcc/testsuite/ChangeLog:
|
||||
PR tree-optimization/110280
|
||||
* gcc.target/aarch64/sve/pr110280.c: New test.
|
||||
|
||||
(cherry picked from commit 85d8e0d8d5342ec8b4e6a54e22741c30b33c6f04)
|
||||
---
|
||||
gcc/match.pd | 9 ++++++++-
|
||||
gcc/testsuite/gcc.target/aarch64/sve/pr110280.c | 12 ++++++++++++
|
||||
2 files changed, 20 insertions(+), 1 deletion(-)
|
||||
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
|
||||
|
||||
diff --git a/gcc/match.pd b/gcc/match.pd
|
||||
index 9118244825054..c3bb4fbc0a7a2 100644
|
||||
--- a/gcc/match.pd
|
||||
+++ b/gcc/match.pd
|
||||
@@ -8292,7 +8292,14 @@ and,
|
||||
|
||||
(simplify
|
||||
(vec_perm vec_same_elem_p@0 @0 @1)
|
||||
- @0)
|
||||
+ (if (types_match (type, TREE_TYPE (@0)))
|
||||
+ @0
|
||||
+ (with
|
||||
+ {
|
||||
+ tree elem = uniform_vector_p (@0);
|
||||
+ }
|
||||
+ (if (elem)
|
||||
+ { build_vector_from_val (type, elem); }))))
|
||||
|
||||
/* Push VEC_PERM earlier if that may help FMA perception (PR101895). */
|
||||
(simplify
|
||||
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
|
||||
new file mode 100644
|
||||
index 0000000000000..d3279f383629f
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.target/aarch64/sve/pr110280.c
|
||||
@@ -0,0 +1,12 @@
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-O3 -fdump-tree-optimized" } */
|
||||
+
|
||||
+#include "arm_sve.h"
|
||||
+
|
||||
+svuint32_t l()
|
||||
+{
|
||||
+ _Alignas(16) const unsigned int lanes[4] = {0, 0, 0, 0};
|
||||
+ return svld1rq_u32(svptrue_b8(), lanes);
|
||||
+}
|
||||
+
|
||||
+/* { dg-final { scan-tree-dump-not "VEC_PERM_EXPR" "optimized" } } */
|
|
@ -9,15 +9,15 @@
|
|||
self.val = val
|
||||
self.contained_type = None
|
||||
contained_value = None
|
||||
@@ -1216,7 +1216,7 @@
|
||||
mgrname = m.group(1)
|
||||
# FIXME need to expand 'std::string' so that gdb.lookup_type works
|
||||
if 'std::string' in mgrname:
|
||||
- mgrname = re.sub("std::string(?!\w)", str(gdb.lookup_type('std::string').strip_typedefs()), m.group(1))
|
||||
+ mgrname = re.sub(r"std::string(?!\w)", str(gdb.lookup_type('std::string').strip_typedefs()), m.group(1))
|
||||
|
||||
mgrtype = gdb.lookup_type(mgrname)
|
||||
self.contained_type = mgrtype.template_argument(0)
|
||||
@@ -1299,7 +1299,7 @@
|
||||
mgrtypes = []
|
||||
for s in strings:
|
||||
try:
|
||||
- x = re.sub("std::string(?!\w)", s, m.group(1))
|
||||
+ x = re.sub(r"std::string(?!\w)", s, m.group(1))
|
||||
# The following lookup might raise gdb.error if the
|
||||
# manager function was never instantiated for 's' in the
|
||||
# program, because there will be no such type.
|
||||
@@ -1246,7 +1246,7 @@
|
||||
def __init__ (self, typename, val):
|
||||
valtype = self._recognize (val.type.template_argument(0))
|
||||
|
|
|
@ -2,10 +2,10 @@ Add --enable-autolink-libatomic, to make gcc link -latomic by default.
|
|||
|
||||
Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
|
||||
|
||||
From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
|
||||
From 7b50823d8a4131e5a55d2499a0f5a52b3d91eed2 Mon Sep 17 00:00:00 2001
|
||||
From: Drew DeVault <sir@cmpwn.com>
|
||||
Date: Wed, 9 Dec 2020 16:07:26 +0000
|
||||
Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
|
||||
Date: Wed, 9 Dec 2020 07:42:06 +0000
|
||||
Subject: [PATCH 27/35] configure: Add --enable-autolink-libatomic, use in
|
||||
LINK_GCC_C_SEQUENCE_SPEC [PR81358]
|
||||
|
||||
This fixes issues with RISC-V.
|
||||
|
@ -13,19 +13,19 @@ This fixes issues with RISC-V.
|
|||
Makefile.in | 1 +
|
||||
gcc/config.in | 6 ++++++
|
||||
gcc/config/gnu-user.h | 12 +++++++++++-
|
||||
gcc/configure | 32 ++++++++++++++++++++++++++++++--
|
||||
gcc/configure.ac | 22 +++++++++++++++++++++-
|
||||
gcc/configure | 31 ++++++++++++++++++++++++++++++-
|
||||
gcc/configure.ac | 21 +++++++++++++++++++++
|
||||
gcc/doc/install.texi | 8 ++++++++
|
||||
gcc/doc/tm.texi | 8 +++++++-
|
||||
gcc/doc/tm.texi.in | 8 +++++++-
|
||||
gcc/gcc.cc | 12 +++++++++++-
|
||||
9 files changed, 102 insertions(+), 7 deletions(-)
|
||||
9 files changed, 102 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index b564ddbf792..a95c7407d16 100644
|
||||
index 6ff2b3f9925..394b105b271 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -232,6 +232,7 @@ HOST_EXPORTS = \
|
||||
@@ -235,6 +235,7 @@ HOST_EXPORTS = \
|
||||
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
|
||||
READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
|
||||
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
|
||||
|
@ -34,7 +34,7 @@ index b564ddbf792..a95c7407d16 100644
|
|||
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
|
||||
GMPINC="$(HOST_GMPINC)"; export GMPINC; \
|
||||
diff --git a/gcc/config.in b/gcc/config.in
|
||||
index f0fbf123aa8..af84efc4f9e 100644
|
||||
index 0679fbbf4c6..ee81139b385 100644
|
||||
--- a/gcc/config.in
|
||||
+++ b/gcc/config.in
|
||||
@@ -118,6 +118,12 @@
|
||||
|
@ -51,7 +51,7 @@ index f0fbf123aa8..af84efc4f9e 100644
|
|||
format instead of DPD */
|
||||
#ifndef USED_FOR_TARGET
|
||||
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
|
||||
index 8433e56c3e1..0347f10da8b 100644
|
||||
index b26b17f2f2a..3f64ea46180 100644
|
||||
--- a/gcc/config/gnu-user.h
|
||||
+++ b/gcc/config/gnu-user.h
|
||||
@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
@ -75,10 +75,10 @@ index 8433e56c3e1..0347f10da8b 100644
|
|||
|
||||
#undef LINK_GCC_C_SEQUENCE_SPEC
|
||||
diff --git a/gcc/configure b/gcc/configure
|
||||
index 2f6b3265a6c..6dc65bf4ccb 100755
|
||||
index e59cbee1767..787c35d4e25 100755
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -981,6 +981,7 @@ with_changes_root_url
|
||||
@@ -984,6 +984,7 @@ with_changes_root_url
|
||||
enable_languages
|
||||
with_multilib_list
|
||||
with_multilib_generator
|
||||
|
@ -86,7 +86,7 @@ index 2f6b3265a6c..6dc65bf4ccb 100755
|
|||
with_zstd
|
||||
with_zstd_include
|
||||
with_zstd_lib
|
||||
@@ -1710,6 +1711,9 @@ Optional Features:
|
||||
@@ -1713,6 +1714,9 @@ Optional Features:
|
||||
--disable-shared don't provide a shared libgcc
|
||||
--disable-gcov don't provide libgcov and related host tools
|
||||
--enable-languages=LIST specify which front-ends to build
|
||||
|
@ -96,7 +96,7 @@ index 2f6b3265a6c..6dc65bf4ccb 100755
|
|||
--disable-rpath do not hardcode runtime library paths
|
||||
--enable-sjlj-exceptions
|
||||
arrange to use setjmp/longjmp exception handling
|
||||
@@ -8324,7 +8328,6 @@ else
|
||||
@@ -8329,7 +8333,6 @@ else
|
||||
fi
|
||||
|
||||
|
||||
|
@ -104,7 +104,7 @@ index 2f6b3265a6c..6dc65bf4ccb 100755
|
|||
# Check whether --with-multilib-generator was given.
|
||||
if test "${with_multilib_generator+set}" = set; then :
|
||||
withval=$with_multilib_generator; :
|
||||
@@ -8332,6 +8335,32 @@ else
|
||||
@@ -8337,6 +8340,32 @@ else
|
||||
with_multilib_generator=default
|
||||
fi
|
||||
|
||||
|
@ -137,16 +137,11 @@ index 2f6b3265a6c..6dc65bf4ccb 100755
|
|||
|
||||
# -------------------------
|
||||
# Checks for other programs
|
||||
@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
|
||||
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
|
||||
fi
|
||||
|
||||
-
|
||||
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||
index e683d3a7a5f..07c81c78336 100644
|
||||
index 57268319de1..56bcaa87620 100644
|
||||
--- a/gcc/configure.ac
|
||||
+++ b/gcc/configure.ac
|
||||
@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
|
||||
@@ -1199,6 +1199,27 @@ AC_ARG_WITH(multilib-generator,
|
||||
:,
|
||||
with_multilib_generator=default)
|
||||
|
||||
|
@ -174,16 +169,11 @@ index e683d3a7a5f..07c81c78336 100644
|
|||
# -------------------------
|
||||
# Checks for other programs
|
||||
# -------------------------
|
||||
@@ -7839,4 +7860,3 @@ done
|
||||
],
|
||||
[subdirs='$subdirs'])
|
||||
AC_OUTPUT
|
||||
-
|
||||
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
|
||||
index 48408d842db..c90be0ee750 100644
|
||||
index b30d3691fe6..ccc8e5dbb00 100644
|
||||
--- a/gcc/doc/install.texi
|
||||
+++ b/gcc/doc/install.texi
|
||||
@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
|
||||
@@ -2377,6 +2377,14 @@ files, but these changed header paths may conflict with some compilation
|
||||
environments. Enabled by default, and may be disabled using
|
||||
@option{--disable-canonical-system-headers}.
|
||||
|
||||
|
@ -199,7 +189,7 @@ index 48408d842db..c90be0ee750 100644
|
|||
Tell GCC that when the GNU C Library (glibc) is used on the target it
|
||||
will be version @var{major}.@var{minor} or later. Normally this can
|
||||
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
|
||||
index c5006afc00d..56b62c69ae8 100644
|
||||
index a660e33739b..6183c407a2b 100644
|
||||
--- a/gcc/doc/tm.texi
|
||||
+++ b/gcc/doc/tm.texi
|
||||
@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
|
||||
|
@ -218,7 +208,7 @@ index c5006afc00d..56b62c69ae8 100644
|
|||
|
||||
@defmac POST_LINK_SPEC
|
||||
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
|
||||
index f869ddd5e5b..57c93f24ac3 100644
|
||||
index f7ab5d48a63..281540aba68 100644
|
||||
--- a/gcc/doc/tm.texi.in
|
||||
+++ b/gcc/doc/tm.texi.in
|
||||
@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
|
||||
|
@ -237,10 +227,10 @@ index f869ddd5e5b..57c93f24ac3 100644
|
|||
|
||||
@defmac POST_LINK_SPEC
|
||||
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||
index 735b2b1bba1..f10f3c91aa7 100644
|
||||
index 59390fd39d6..dae1dd4cf79 100644
|
||||
--- a/gcc/gcc.cc
|
||||
+++ b/gcc/gcc.cc
|
||||
@@ -987,13 +987,23 @@ proper position among the other output files. */
|
||||
@@ -974,13 +974,23 @@ proper position among the other output files. */
|
||||
# define ASM_DEBUG_OPTION_SPEC ""
|
||||
#endif
|
||||
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
# which use the version number.
|
||||
|
||||
pkgname=gcc
|
||||
version=12.2.0
|
||||
revision=4
|
||||
version=13.2.0
|
||||
revision=1
|
||||
_minorver="${version%.*}"
|
||||
_majorver="${_minorver%.*}"
|
||||
_gmp_version=6.2.1
|
||||
_mpfr_version=4.1.0
|
||||
_mpc_version=1.2.1
|
||||
_isl_version=0.24
|
||||
_gmp_version=6.3.0
|
||||
_mpfr_version=4.2.1
|
||||
_mpc_version=1.3.1
|
||||
_isl_version=0.26
|
||||
create_wrksrc=yes
|
||||
short_desc="GNU Compiler Collection"
|
||||
maintainer="Enno Boland <gottox@voidlinux.org>"
|
||||
|
@ -19,16 +19,17 @@ license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
|
|||
# *-musl builders have issues fetching https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
|
||||
distfiles="
|
||||
${GNU_SITE}/gcc/gcc-${version}/gcc-${version}.tar.xz
|
||||
https://gmplib.org/download/gmp/gmp-${_gmp_version}.tar.xz
|
||||
${GNU_SITE}/gmp/gmp-${_gmp_version}.tar.xz
|
||||
${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
|
||||
${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
|
||||
${SOURCEFORGE_SITE}/libisl/isl-${_isl_version}.tar.bz2"
|
||||
checksum="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
|
||||
fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2
|
||||
0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f
|
||||
17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459
|
||||
fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0"
|
||||
checksum="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
|
||||
a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898
|
||||
277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2
|
||||
ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8
|
||||
5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436"
|
||||
|
||||
nocross=temporarily
|
||||
nopie=yes
|
||||
lib32disabled=yes
|
||||
bootstrap=yes
|
||||
|
@ -36,6 +37,7 @@ replaces="gcc-gcj<7.2.0 gcc-gcj-jdk-compat<7.2.0 libmpx>=0 libmpx-devel>=0
|
|||
libssp>=0 libssp-devel>=0"
|
||||
|
||||
_have_gccgo=yes
|
||||
_have_libquadmath=no
|
||||
|
||||
# MIPS is untested and does not have go in crosstoolchains
|
||||
# 32-bit PowerPC seems weirdly broken since the 10.x release
|
||||
|
@ -45,6 +47,10 @@ case "$XBPS_TARGET_MACHINE" in
|
|||
mips*-musl|ppc*) _have_gccgo=no ;;
|
||||
esac
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
i686*|x86_64*|ppc64le) _have_libquadmath=yes ;;
|
||||
esac
|
||||
|
||||
if [ "$CHROOT_READY" ]; then
|
||||
hostmakedepends="tar texinfo perl flex"
|
||||
else
|
||||
|
@ -85,6 +91,10 @@ fi
|
|||
if [ "$CHROOT_READY" ]; then
|
||||
subpackages+=" gcc-fortran libgfortran-devel libgfortran"
|
||||
subpackages+=" gcc-objc gcc-objc++ libobjc-devel libobjc"
|
||||
|
||||
if [ "$_have_libquadmath" = "yes" ]; then
|
||||
subpackages+=" libquadmath libquadmath-devel"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$_have_gccgo" = "yes" ]; then
|
||||
|
@ -136,12 +146,8 @@ case "$XBPS_TARGET_MACHINE" in
|
|||
esac
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
i686*|x86_64*)
|
||||
subpackages+=" libquadmath libquadmath-devel"
|
||||
subpackages+=" libvtv libvtv-devel"
|
||||
;;
|
||||
ppc64le)
|
||||
subpackages+=" libquadmath libquadmath-devel"
|
||||
;;
|
||||
esac
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
mips*) ;;
|
||||
|
@ -187,8 +193,12 @@ pre_configure() {
|
|||
# Do not run fixincludes
|
||||
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
|
||||
|
||||
# Do not enable C++17, gcc compiles with -std=c++11
|
||||
sed -i 's/HAVE_CXX17=1/HAVE_CXX17=0/' isl/configure
|
||||
|
||||
if [ "$XBPS_TARGET_LIBC" = musl ]; then
|
||||
for p in ${FILESDIR}/*-musl.patch; do
|
||||
msg_normal "patching: $p\n"
|
||||
patch -p1 -i $p
|
||||
done
|
||||
fi
|
||||
|
@ -385,10 +395,9 @@ do_install() {
|
|||
vman ${FILESDIR}/${f}.1
|
||||
done
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
i686*|x86_64*|ppc64le) ;;
|
||||
*) rm -f ${DESTDIR}/usr/share/info/libquadmath.info;;
|
||||
esac
|
||||
if [ "$_have_libquadmath" != "yes"]; then
|
||||
rm -f ${DESTDIR}/usr/share/info/libquadmath.info*
|
||||
fi
|
||||
}
|
||||
|
||||
gcc-ada_package() {
|
||||
|
@ -502,6 +511,11 @@ libada_package() {
|
|||
libgfortran-devel_package() {
|
||||
depends="libgfortran>=${_minorver}"
|
||||
short_desc+=" - Fortran library - development files"
|
||||
|
||||
if [ "$_have_libquadmath" = "yes" ]; then
|
||||
depends+=" libquadmath-devel"
|
||||
fi
|
||||
|
||||
pkg_install() {
|
||||
vmove usr/lib/libgfortran.spec
|
||||
vmove usr/lib/libgfortran.a
|
||||
|
@ -675,7 +689,7 @@ libsanitizer-devel_package() {
|
|||
pkg_install() {
|
||||
vmove "usr/lib/lib*san*.so"
|
||||
vmove "usr/lib/lib*san*.a"
|
||||
vmove usr/lib/libasan_preinit.o
|
||||
vmove "usr/lib/lib*san_preinit.o"
|
||||
vmove usr/lib/libsanitizer.spec
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue