...
 
Commits (1)
  • Matthias Klose's avatar
    gcc-4.9 (4.9.4-3) UNRELEASED; urgency=medium · 186d1bf0
    Matthias Klose authored
      * Bump debhelper version to 9.
      * Fix PR sanitizer/81066, taken from the gcc-7-branch.
      * Fix libjava build failure with glibc-2.26.
    
     -- Matthias Klose <doko@debian.org>  Thu, 14 Sep 2017 10:50:05 +0200
    186d1bf0
gcc-4.9 (4.9.4-3) UNRELEASED; urgency=medium
* Bump debhelper version to 9.
* Fix PR sanitizer/81066, taken from the gcc-7-branch.
* Fix libjava build failure with glibc-2.26.
-- Matthias Klose <doko@debian.org> Thu, 14 Sep 2017 10:50:05 +0200
gcc-4.9 (4.9.4-2) unstable; urgency=medium
* Fix detection of newer ISL versions.
......
......@@ -4,7 +4,7 @@ Priority: optional
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Uploaders: Matthias Klose <doko@debian.org>
Standards-Version: 3.9.8
Build-Depends: debhelper (>= 5.0.62), dpkg-dev (>= 1.17.11),
Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.17.11),
g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32],
libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386 x32], libc6-dev-sparc64 [sparc], libc6-dev-sparc [sparc64], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64 x32], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 mipsn32 mipsn32el mips64 mips64el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el], libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386],
kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any],
......
......@@ -54,7 +54,7 @@ Uploaders: Matthias Klose <doko@debian.org>
')dnl SRCNAME
Standards-Version: 3.9.8
ifdef(`TARGET',`dnl cross
Build-Depends: debhelper (>= 5.0.62), DPKG_BUILD_DEP
Build-Depends: debhelper (>= 9), DPKG_BUILD_DEP
LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP
kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any],
LIBUNWIND_BUILD_DEP LIBATOMIC_OPS_BUILD_DEP AUTO_BUILD_DEP
......@@ -64,7 +64,7 @@ Build-Depends: debhelper (>= 5.0.62), DPKG_BUILD_DEP
zlib1g-dev, SDT_BUILD_DEP
bison (>= 1:2.3), flex, realpath (>= 1.9.12), lsb-release, quilt
',`dnl native
Build-Depends: debhelper (>= 5.0.62), DPKG_BUILD_DEP
Build-Depends: debhelper (>= 9), DPKG_BUILD_DEP
GCC_MULTILIB_BUILD_DEP
LIBC_BUILD_DEP, LIBC_BIARCH_BUILD_DEP LIBC_DBG_DEP
kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any],
......
# DP: Fix libjava build failure with glibc-2.26
--- a/src/libjava/include/x86_64-signal.h
+++ a/src/libjava/include/x86_64-signal.h
@@ -28,7 +28,7 @@
#define HANDLE_DIVIDE_OVERFLOW \
do \
{ \
- struct ucontext *_uc = (struct ucontext *)_p; \
+ ucontext_t *_uc = (ucontext_t *)_p; \
gregset_t &_gregs = _uc->uc_mcontext.gregs; \
unsigned char *_rip = (unsigned char *)_gregs[REG_RIP]; \
\
--- a/src/libjava/include/i386-signal.h
+++ a/src/libjava/include/i386-signal.h
@@ -29,7 +29,7 @@
#define HANDLE_DIVIDE_OVERFLOW \
do \
{ \
- struct ucontext *_uc = (struct ucontext *)_p; \
+ ucontext_t *_uc = (ucontext_t *)_p; \
gregset_t &_gregs = _uc->uc_mcontext.gregs; \
unsigned char *_eip = (unsigned char *)_gregs[REG_EIP]; \
\
--- a/src/libjava/include/s390-signal.h
+++ a/src/libjava/include/s390-signal.h
@@ -51,7 +51,7 @@
struct \
{ \
unsigned long int uc_flags; \
- struct ucontext *uc_link; \
+ ucontext_t *uc_link; \
stack_t uc_stack; \
mcontext_t uc_mcontext; \
unsigned long sigmask[2]; \
# DP; Fix PR sanitizer/81066, taken from the gcc-7-branch.
libsanitizer/
2017-07-17 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
2017-07-14 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/81066
* sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
* sanitizer_common/sanitizer_linux.cc: Likewise.
* sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
* tsan/tsan_platform_linux.cc: Likewise.
Index: b/src/libsanitizer/sanitizer_common/sanitizer_linux.cc
===================================================================
--- a/src/libsanitizer/sanitizer_common/sanitizer_linux.cc
+++ b/src/libsanitizer/sanitizer_common/sanitizer_linux.cc
@@ -599,8 +599,7 @@ uptr internal_prctl(int option, uptr arg
return internal_syscall(__NR_prctl, option, arg2, arg3, arg4, arg5);
}
-uptr internal_sigaltstack(const struct sigaltstack *ss,
- struct sigaltstack *oss) {
+uptr internal_sigaltstack(const void *ss, void *oss) {
return internal_syscall(__NR_sigaltstack, (uptr)ss, (uptr)oss);
}
Index: b/src/libsanitizer/sanitizer_common/sanitizer_linux.h
===================================================================
--- a/src/libsanitizer/sanitizer_common/sanitizer_linux.h
+++ b/src/libsanitizer/sanitizer_common/sanitizer_linux.h
@@ -18,7 +18,6 @@
#include "sanitizer_platform_limits_posix.h"
struct link_map; // Opaque type returned by dlopen().
-struct sigaltstack;
namespace __sanitizer {
// Dirent structure for getdents(). Note that this structure is different from
@@ -28,8 +27,7 @@ struct linux_dirent;
// Syscall wrappers.
uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5);
-uptr internal_sigaltstack(const struct sigaltstack* ss,
- struct sigaltstack* oss);
+uptr internal_sigaltstack(const void* ss, void* oss);
uptr internal_sigaction(int signum, const __sanitizer_kernel_sigaction_t *act,
__sanitizer_kernel_sigaction_t *oldact);
uptr internal_sigprocmask(int how, __sanitizer_kernel_sigset_t *set,
Index: b/src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
===================================================================
--- a/src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
+++ b/src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
@@ -238,7 +238,7 @@ static int TracerThread(void* argument)
// Alternate stack for signal handling.
InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
- struct sigaltstack handler_stack;
+ stack_t handler_stack;
internal_memset(&handler_stack, 0, sizeof(handler_stack));
handler_stack.ss_sp = handler_stack_memory.data();
handler_stack.ss_size = kHandlerStackSize;
Index: b/src/libsanitizer/tsan/tsan_platform_linux.cc
===================================================================
--- a/src/libsanitizer/tsan/tsan_platform_linux.cc
+++ b/src/libsanitizer/tsan/tsan_platform_linux.cc
@@ -351,7 +351,7 @@ bool IsGlobalVar(uptr addr) {
// closes within glibc. The code is a pure hack.
int ExtractResolvFDs(void *state, int *fds, int nfd) {
int cnt = 0;
- __res_state *statp = (__res_state*)state;
+ struct __res_state *statp = (struct __res_state*)state;
for (int i = 0; i < MAXNS && cnt < nfd; i++) {
if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
fds[cnt++] = statp->_u._ext.nssocks[i];
Index: b/src/libsanitizer/asan/asan_linux.cc
===================================================================
--- a/src/libsanitizer/asan/asan_linux.cc
+++ b/src/libsanitizer/asan/asan_linux.cc
@@ -26,6 +26,7 @@
#include <sys/types.h>
#include <fcntl.h>
#include <pthread.h>
+#include <signal.h>
#include <stdio.h>
#include <unistd.h>
#include <unwind.h>
# DP: struct ucontext -> ucontext_t changes
libgcc/
2017-07-04 Joseph Myers <joseph@codesourcery.com>
* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state),
config/alpha/linux-unwind.h (alpha_fallback_frame_state),
config/bfin/linux-unwind.h (bfin_fallback_frame_state),
config/i386/linux-unwind.h (x86_64_fallback_frame_state,
x86_fallback_frame_state), config/m68k/linux-unwind.h (struct
uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext),
config/pa/linux-unwind.h (pa32_fallback_frame_state),
config/sh/linux-unwind.h (sh_fallback_frame_state),
config/tilepro/linux-unwind.h (tile_fallback_frame_state),
config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use
ucontext_t instead of struct ucontext.
--- a/src/libgcc/config/alpha/linux-unwind.h
+++ b/src/libgcc/config/alpha/linux-unwind.h
@@ -51,7 +51,7 @@
{
struct rt_sigframe {
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *rt_ = context->cfa;
sc = &rt_->uc.uc_mcontext;
}
--- a/src/libgcc/config/m68k/linux-unwind.h
+++ b/src/libgcc/config/m68k/linux-unwind.h
@@ -33,7 +33,7 @@
/* <sys/ucontext.h> is unfortunately broken right now. */
struct uw_ucontext {
unsigned long uc_flags;
- struct ucontext *uc_link;
+ ucontext_t *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
unsigned long uc_filler[80];
--- a/src/libgcc/config/aarch64/linux-unwind.h
+++ b/src/libgcc/config/aarch64/linux-unwind.h
@@ -52,7 +52,7 @@
struct rt_sigframe
{
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
};
struct rt_sigframe *rt_;
--- a/src/libgcc/config/i386/linux-unwind.h
+++ b/src/libgcc/config/i386/linux-unwind.h
@@ -58,7 +58,7 @@
if (*(unsigned char *)(pc+0) == 0x48
&& *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
{
- struct ucontext *uc_ = context->cfa;
+ ucontext_t *uc_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
The aliasing warning is correct, but should not be a problem
because it does not alias anything. */
@@ -138,7 +138,7 @@
siginfo_t *pinfo;
void *puc;
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
The aliasing warning is correct, but should not be a problem
--- a/src/libgcc/config/sh/linux-unwind.h
+++ b/src/libgcc/config/sh/linux-unwind.h
@@ -180,7 +180,7 @@
{
struct rt_sigframe {
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
The aliasing warning is correct, but should not be a problem
--- a/src/libgcc/config/tilepro/linux-unwind.h
+++ b/src/libgcc/config/tilepro/linux-unwind.h
@@ -61,7 +61,7 @@
struct rt_sigframe {
unsigned char save_area[C_ABI_SAVE_AREA_SIZE];
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *rt_;
/* Return if this is not a signal handler. */
--- a/src/libgcc/config/pa/linux-unwind.h
+++ b/src/libgcc/config/pa/linux-unwind.h
@@ -80,7 +80,7 @@
struct sigcontext *sc;
struct rt_sigframe {
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *frame;
/* rt_sigreturn trampoline:
--- a/src/libgcc/config/xtensa/linux-unwind.h
+++ b/src/libgcc/config/xtensa/linux-unwind.h
@@ -67,7 +67,7 @@
struct rt_sigframe {
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *rt_;
/* movi a2, __NR_rt_sigreturn; syscall */
--- a/src/libgcc/config/bfin/linux-unwind.h
+++ b/src/libgcc/config/bfin/linux-unwind.h
@@ -52,7 +52,7 @@
void *puc;
char retcode[8];
siginfo_t info;
- struct ucontext uc;
+ ucontext_t uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
......@@ -2,14 +2,14 @@
GCC_VERSION := 4.9.4
NEXT_GCC_VERSION := 4.9.5
BASE_VERSION := 4.9
SOURCE_VERSION := 4.9.4-1
DEB_VERSION := 4.9.4-1
DEB_EVERSION := 1:4.9.4-1
DEB_GDC_VERSION := 4.9.4-1
SOURCE_VERSION := 4.9.4-3
DEB_VERSION := 4.9.4-3
DEB_EVERSION := 1:4.9.4-3
DEB_GDC_VERSION := 4.9.4-3
DEB_SOVERSION := 4.9
DEB_SOEVERSION := 1:4.9
DEB_LIBGCC_SOVERSION :=
DEB_LIBGCC_VERSION := 1:4.9.4-1
DEB_LIBGCC_VERSION := 1:4.9.4-3
DEB_STDCXX_SOVERSION := 4.9
DEB_GCJ_SOVERSION := 4.9
PKG_GCJ_EXT := 15
......
......@@ -91,6 +91,9 @@ debian_patches += \
pr60655-debug-loc \
pr56158 \
r214683 \
pr81066 \
libjava-ucontext \
r249958 \
# sigaction on sparc changed between glibc 2.19 and 2.21
ifeq (,$(filter 2.1%, $(shell dpkg-query -l libc-bin | awk '/^.i/ {print $$3}')))
......