Sync from SUSE:SLFO:Main libsigsegv revision 5ce4a8e21b9c482b5570cd9480a0d897

This commit is contained in:
Adrian Schröter 2024-05-03 15:51:53 +02:00
commit 74b830db3e
7 changed files with 529 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

201
libsigsegv-2.12-lto.dif Normal file
View File

@ -0,0 +1,201 @@
---
configure | 42 +++++++++++++++++++++++++++---------------
1 file changed, 27 insertions(+), 15 deletions(-)
--- configure
+++ configure 2019-04-25 13:27:06.323370748 +0000
@@ -12587,7 +12587,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
{
void *fault_address = (void *) (sip->si_addr);
@@ -12683,7 +12683,9 @@ else
#include <signal.h>
+#ifndef _DEFAULT_SOURCE
#include <asm/sigcontext.h>
+#endif
void sigsegv_handler (int sig, struct sigcontext sc)
{
void *fault_address = (void *) (sc.cr2);
@@ -12718,7 +12720,9 @@ else
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
+#ifndef _DEFAULT_SOURCE
#include <asm/sigcontext.h>
+#endif
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
@@ -12750,7 +12754,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, struct sigcontext sc)
{
void *fault_address = (void *) (sc.cr2);
@@ -12915,7 +12919,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, unsigned int more)
{
void *fault_address = (void *) (((unsigned long *) &more) [21]);
@@ -13013,7 +13017,9 @@ else
#include <signal.h>
+#ifndef _DEFAULT_SOURCE
#include <asm/sigcontext.h>
+#endif
#include "$srcdir/src/fault-linux-m68k-old.c"
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
@@ -13049,7 +13055,9 @@ else
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
+#ifndef _DEFAULT_SOURCE
#include <asm/sigcontext.h>
+#endif
#include "$srcdir/src/fault-linux-m68k-old.c"
#include <sys/types.h>
#include <sys/mman.h>
@@ -13082,7 +13090,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
void *fault_address = (void *) (get_fault_addr (scp));
@@ -13180,7 +13188,9 @@ else
#include <signal.h>
+#ifndef _DEFAULT_SOURCE
#include <asm/sigcontext.h>
+#endif
void sigsegv_handler (int sig, struct sigcontext *scp)
{
void *fault_address = (void *) (scp->regs->dar);
@@ -13215,7 +13225,9 @@ else
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
+#ifndef _DEFAULT_SOURCE
#include <asm/sigcontext.h>
+#endif
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
@@ -13247,7 +13259,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, struct sigcontext *scp)
{
void *fault_address = (void *) (scp->regs->dar);
@@ -13413,7 +13425,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
{
void *fault_address = (void *) (sip->si_ptr);
@@ -13576,7 +13588,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp, void *addr)
{
void *fault_address = (void *) (addr);
@@ -13741,7 +13753,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
void *fault_address = (void *) ((unsigned long) scp->sc_badvaddr);
@@ -13916,7 +13928,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
void *fault_address = (void *) (GET_CR21 (scp->sc_sl.sl_ss));
@@ -14081,7 +14093,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
void *fault_address = (void *) (scp->sc_traparg_a0);
@@ -14246,7 +14258,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
void *fault_address = (void *) (get_fault_addr (scp));
@@ -14411,7 +14423,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
void *fault_address = (void *) (scp->sc_jmpbuf.jmp_context.o_vaddr);
@@ -14577,7 +14589,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, siginfo_t *sip, ucontext_t *ucp)
{
void *fault_address = (void *) (get_fault_addr (sip, ucp));
@@ -14741,7 +14753,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
void *fault_address = (void *) (get_fault_addr (scp));
@@ -14907,7 +14919,7 @@ static int zero_fd;
# define SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS 0UL
#endif
unsigned long page;
-int handler_called = 0;
+volatile sig_atomic_t handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
void *fault_address = (void *) (code);

BIN
libsigsegv-2.14.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEkAG4WvnhuD3xvalC9b6LJnxqQG0FAmHYgD8ACgkQ9b6LJnxq
QG3ScA/8Ce0iR5u73FoLUGUr9iQ/PV57/yX1tY6DfNexIPhl8WYzXOoCfcIbNH/4
ChKoDRvRGzALnx+nQRP33glD4YvvlHTa6GVPI3pkkIzGbIs4uUM7jQwcXAkya4kd
3BePwgPG7PtsZ94f+w9dNIS60mIPQurx9z+Bwc6paUNwLnTtDniUh658Z37jSw+v
zfLsiP6fhgRrLm5qCgjSameluY5q75E+xCziyAOMKVNFosjGrFKL3qyxWTdcLRKv
L5QDgKZK6eCbTj/hie/ompyAofy7dWfCWRX9hCB9PoKP5+VJbW8k/deXJAhALHJC
hK+7h0ZniLbyMfhFsallc8nVBqSbEa7OWqVlMC4PcT3oZ7+wHDDPdCB0/9jZkYpd
PkePPZK9McrHlrOcLWkYsTWf0oLT7jZv55Vx+3l6kYPXbo+f4ozY0ENn40Ov4imq
CiZFAzk3nn+Pq1t/8eyjlmY5qRIq4DxjOzrPo9/btNAq28/C9YqqF3Vjq22x5n1U
u8Bkr9vV5JJa8eAljtFqPfhQRnmbFZ7sjB2SAn9IeEEd3D4wAmxfa+fn0jPx5FoL
qnqNgnfmnTNcvsbilDVZ43d9pEN18CI4zAsWHqIH/zeTOX3yAAfDac8FVIp0A8/n
1Tae9xrsYiyASFaRtK9OAcSe1P4JXLAAVrBAyDUiQXK91aaDm8Q=
=X+O/
-----END PGP SIGNATURE-----

102
libsigsegv.changes Normal file
View File

@ -0,0 +1,102 @@
-------------------------------------------------------------------
Mon Jan 10 21:18:10 UTC 2022 - Andreas Schwab <schwab@suse.de>
- test-catch-stackoverflow1 and test-catch-stackoverflow2 are expected to
fail under qemu
-------------------------------------------------------------------
Fri Jan 7 20:53:26 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 2.14:
* Improved support for Linux/LoongArch64
-------------------------------------------------------------------
Tue Jan 19 21:16:42 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 2.13:
* Added support for macOS/arm64.
* Added support for Solaris OpenIndiana.
* Added support for catching stack overflow on Solaris 11/SPARC.
* Added support for catching stack overflow on 64-bit Haiku.
* Provide a correct value for SIGSTKSZ on 64-bit Solaris/x86. The one defined
by this system is too small.
* Improved support for Linux/RISC-V, Linux/nds32.
* Improved support for Android.
* Improved support for FreeBSD/x86, FreeBSD/x86_64, FreeBSD/arm, FreeBSD/arm64.
* Improved support for 64-bit ABI on Solaris/x86_64.
-------------------------------------------------------------------
Fri Apr 26 11:19:16 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Allow LTO but only FAT LTO OBJECTS (boo#1133245)
-------------------------------------------------------------------
Thu Apr 25 11:18:04 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Add patch libsigsegv-2.12-lto.dif
* Avoid redefinition of structures of <bits/sigcontext.h> by
<asm/sigcontext.h>
* Avoid moved logic in resulting assembler code for LTO objects
in signal handler for segmentation faults
-------------------------------------------------------------------
Thu Apr 25 06:34:02 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Avoid none debugging libsigsegv, that is add -fno-lto (boo#1133245)
- Use %license if known
-------------------------------------------------------------------
Wed Apr 24 17:18:04 UTC 2019 - Martin Liška <mliska@suse.cz>
- Disable LTO (boo#1133245).
-------------------------------------------------------------------
Thu Feb 1 20:16:44 UTC 2018 - astieger@suse.com
- update to 2.12:
* updates for platform other than GNU/Linux
* Reliability improvements
-------------------------------------------------------------------
Mon May 22 13:36:14 UTC 2017 - mpluskal@suse.com
- Add gpg signature
- Small spec file cleanup with spec-cleaner
- Trim dependencies
-------------------------------------------------------------------
Wed Feb 22 07:29:42 UTC 2017 - werner@suse.de
- Update to version 2.11
* Added support for catching stack overflow on Linux/SPARC.
* Provide a correct value for SIGSTKSZ on 64-bit AIX and on HP-UX. The one
defined by these systems is too small.
* Updated build infrastructure.
* Compilation now requires the <stdint.h> include file. Platforms which
don't have this include file (such as IRIX) are no longer supported.
* NOTE: Support for Cygwin and native Windows is currently not up-to-date.
- Update URL that is use https://www.gnu.org/software/libsigsegv/
-------------------------------------------------------------------
Wed Jul 3 12:36:56 UTC 2013 - schwab@suse.de
- fix-build-in-qemu.patch: Remove, set XFAIL_TESTS instead
- Reenable testsuite on armv7
-------------------------------------------------------------------
Wed May 8 13:09:02 UTC 2013 - werner@suse.de
- Update to version 2.10
- Adopt patch fix-build-in-qemu.patch
-------------------------------------------------------------------
Tue Jan 31 10:39:15 UTC 2012 - jengelh@medozas.de
- Remove redundant tags/sections per specfile guideline suggestions
- Parallel building using %_smp_mflags
-------------------------------------------------------------------
Fri Dec 3 20:36:03 UTC 2010 - pascal.bleser@opensuse.org
- initial package (2.9)

64
libsigsegv.keyring Normal file
View File

@ -0,0 +1,64 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
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
Dw==
=MDRR
-----END PGP PUBLIC KEY BLOCK-----

120
libsigsegv.spec Normal file
View File

@ -0,0 +1,120 @@
#
# spec file for package libsigsegv
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define somajor 2
%define lname libsigsegv%{somajor}
Name: libsigsegv
Version: 2.14
Release: 0
Summary: Library for Handling Page Faults in User Mode
License: GPL-2.0-or-later
Group: System/Libraries
URL: https://www.gnu.org/software/libsigsegv/
Source0: https://ftp.gnu.org/pub/gnu/libsigsegv/libsigsegv-%{version}.tar.gz
Source1: https://ftp.gnu.org/pub/gnu/libsigsegv/libsigsegv-%{version}.tar.gz.sig
Source2: http://savannah.gnu.org/people/viewgpg.php?user_id=1871#/%{name}.keyring
Patch0: libsigsegv-2.12-lto.dif
BuildRequires: pkgconfig
%define add_optflags(a:f:t:p:w:W:d:g:O:A:C:D:E:H:i:M:n:P:U:u:l:s:X:B:I:L:b:V:m:x:c:S:E:o:v:) \
%global optflags %{optflags} %{**}
%description
This is a library for handling page faults in user mode. A page fault occurs
when a program tries to access to a region of memory that is currently not
available.
%package -n %{lname}
Summary: Library for Handling Page Faults in User Mode
Group: System/Libraries
%description -n %{lname}
This is a library for handling page faults in user mode. A page fault occurs
when a program tries to access to a region of memory that is currently not
available.
%package devel
Summary: Library for Handling Page Faults in User Mode
Group: Development/Libraries/C and C++
Requires: %{lname} = %{version}-%{release}
%description devel
This is a library for handling page faults in user mode. A page fault occurs
when a program tries to access to a region of memory that is currently not
available.
%package doc
Summary: Library for Handling Page Faults in User Mode
Group: Documentation/Other
%description doc
This is a library for handling page faults in user mode. A page fault occurs
when a program tries to access to a region of memory that is currently not
available.
%prep
%setup -q
%patch0 -b .p0
%build
%add_optflags -g3 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE
%if 0%(case "%optflags" in (*-flto*) echo 1;; esac)
%add_optflags -ffat-lto-objects
%endif
%configure \
--with-gnu-ld \
--enable-shared \
--enable-static
sed -ri 's@^((old_striplib|striplib)=)".*"@\1""@' libtool
sed -ri 's@^(hardcode_libdir_flag_spec=)".*"@\1""@' libtool
mkdir bin/
ln -sf /bin/true bin/strip
PATH=${PWD}/bin:$PATH; export PATH
make %{?_smp_mflags}
%install
%make_install
rm "%{buildroot}%{_libdir}/libsigsegv.la"
%check
%if 0%{?qemu_user_space_build}
# qemu does not support stack overflows well
export XFAIL_TESTS="test-catch-stackoverflow1 test-catch-stackoverflow2"
%endif
make %{?_smp_mflags} check
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%files doc
%if %{defined license}
%license COPYING
%doc AUTHORS ChangeLog* NEWS PORTING README
%else
%doc AUTHORS COPYING ChangeLog* NEWS PORTING README
%endif
%files -n %{lname}
%{_libdir}/libsigsegv.so.%{somajor}*
%files devel
%{_includedir}/sigsegv.h
%{_libdir}/libsigsegv.so
%{_libdir}/libsigsegv.a
%changelog