From patchwork Wed Nov 8 18:25:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 24164 Received: (qmail 127274 invoked by alias); 8 Nov 2017 18:25:45 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 127261 invoked by uid 89); 8 Nov 2017 18:25:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-22.3 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM, SPF_PASS, UNWANTED_LANGUAGE_BODY autolearn=ham version=3.3.2 spammy= X-HELO: mail-ot0-f193.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=mgB7fUcljpdPieYsfFTL2NtAoT6YZvHPTGfYmLH/cKk=; b=QEoAZTqdWo1eivCiePrBM4yn5G3IZWSBCoi45Rfi96wjrRUkBjF6rjCg+tZRAcbt98 910dg1oXNc2Iffe8yTxN5xqmdooFYicph9qOrqR8Q4Sxv8p71F7F+c+W6kKpydkKhhro ccvqn2wAeyCMxbPvGjiLA3qtVkYkfdbAoDhH5ja5hhGHFy70ePIuaA6Si4MBM7Q4SCOv 0r1NTH6oPFZgPaljBN2zzW0SJx9hLr0LtnfTH980b1dGx0XTaz+S+YTLOU28lQYHnUyX nUrY7zaNRWyJuL4GTLxSnnahQSG1FrBHiif896mBg2g4qsx3Mxa0sdz85EEgYbHQH85n 8atQ== X-Gm-Message-State: AJaThX5c7PwU11I+yQRzZZEMF+ROxgInODtPHourEt5XLPYI2xR7UI5P LHC7FagdnUDVHvjzfqDkgkV4tWIyQxVu9gUeikM= X-Google-Smtp-Source: AGs4zMb9+vYg2OyUgash6tJX6WRyHtg0NMqg379yeT5hjaqoQcVbkTpEkjyFh44gdvnoO9iMHtNeMyzE/8Qlz+Oe4WQ= X-Received: by 10.157.59.37 with SMTP id z34mr873211otb.201.1510165540440; Wed, 08 Nov 2017 10:25:40 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <20171107223821.GA46190@intel.com> From: "H.J. Lu" Date: Wed, 8 Nov 2017 10:25:39 -0800 Message-ID: Subject: Re: [PATCH 1/2] Add tst-jmp_buf.c and jmp_buf-macros.h To: Andreas Schwab Cc: GNU C Library On Wed, Nov 8, 2017 at 12:11 AM, Andreas Schwab wrote: > On Nov 07 2017, "H.J. Lu" wrote: > >> Verify that sizes, alignments and field offsets of jmp_buf as well as >> sigjmp_buf are unchanged regardless how struct __jmp_buf_tag is defined. >> Since jmp_buf is target specific, jmp_buf-macros.h is added for each >> target. The new target must provides its own jmp_buf-macros.h. >> >> Tested with build-many-glibcs.py. >> >> OK for master? >> >> H.J. >> --- >> * setjmp/Makefile (tests): Add tst-jmp_buf. >> * setjmp/tst-jmp_buf.c: New file. > > How about putting the tests in include/setjmp.h? > Here is the updated patch. Tested with build-many-glibcs.py. Any comments or objections? Thanks. From 2e223a989e32f0f95048dbabee0638d49faca6a0 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 6 Nov 2017 15:54:04 -0800 Subject: [PATCH 1/2] Add jmp_buf-macros.h Verify that sizes, alignments and field offsets of jmp_buf as well as sigjmp_buf are unchanged regardless how struct __jmp_buf_tag is defined. Since jmp_buf is target specific, jmp_buf-macros.h is added for each Linux target. A new target must provides its own jmp_buf-macros.h. TODO: Hurd needs to provide a jmp_buf-macros.h. Tested with build-many-glibcs.py. * include/setjmp.h [!_ISOMAC]: Include and . [!_ISOMAC] (STR_HELPER): New. [!_ISOMAC] (STR): Likewise. [!_ISOMAC] (TEST_SIZE): Likewise. [!_ISOMAC] (TEST_ALIGN): Likewise. [!_ISOMAC] (TEST_OFFSET): Likewise. [!_ISOMAC] Add _Static_assert to check sizes, alignments and field offsets of jmp_buf as well as sigjmp_buf. * sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/jmp_buf-macros.h: Likewise. --- include/setjmp.h | 34 ++++++++++++++++++++++ sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h | 6 ++++ .../unix/sysv/linux/microblaze/jmp_buf-macros.h | 6 ++++ .../unix/sysv/linux/mips/mips32/jmp_buf-macros.h | 6 ++++ .../sysv/linux/mips/mips64/n32/jmp_buf-macros.h | 6 ++++ .../sysv/linux/mips/mips64/n64/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h | 6 ++++ .../sysv/linux/powerpc/powerpc32/jmp_buf-macros.h | 6 ++++ .../sysv/linux/powerpc/powerpc64/jmp_buf-macros.h | 6 ++++ .../unix/sysv/linux/s390/s390-32/jmp_buf-macros.h | 6 ++++ .../unix/sysv/linux/s390/s390-64/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h | 6 ++++ .../unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h | 6 ++++ .../unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h | 6 ++++ .../linux/tile/tilegx/tilegx32/jmp_buf-macros.h | 6 ++++ .../linux/tile/tilegx/tilegx64/jmp_buf-macros.h | 6 ++++ .../unix/sysv/linux/tile/tilepro/jmp_buf-macros.h | 6 ++++ sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h | 6 ++++ .../unix/sysv/linux/x86_64/x32/jmp_buf-macros.h | 6 ++++ 25 files changed, 178 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/microblaze/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/mips/mips32/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n32/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h create mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/jmp_buf-macros.h diff --git a/include/setjmp.h b/include/setjmp.h index c234287515..f1b19f5ceb 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -31,6 +31,40 @@ libc_hidden_proto (__sigsetjmp) # if IS_IN (rtld) && !defined NO_RTLD_HIDDEN extern __typeof (__sigsetjmp) __sigsetjmp attribute_hidden; # endif + +/* Check jmp_buf sizes, alignments and offsets. */ +# include +# include + +# define STR_HELPER(x) #x +# define STR(x) STR_HELPER(x) + +# define TEST_SIZE(type, size) \ + _Static_assert (sizeof (type) == size, \ + "size of " #type " != " \ + STR (size)) +# define TEST_ALIGN(type, align) \ + _Static_assert (__alignof__ (type) == align , \ + "align of " #type " != " \ + STR (align)) +# define TEST_OFFSET(type, member, offset) \ + _Static_assert (offsetof (type, member) == offset, \ + "offset of " #member " field of " #type " != " \ + STR (offset)) + +/* Check if jmp_buf have the expected sizes. */ +TEST_SIZE (jmp_buf, JMP_BUF_SIZE); +TEST_SIZE (sigjmp_buf, SIGJMP_BUF_SIZE); + +/* Check if jmp_buf have the expected alignments. */ +TEST_ALIGN (jmp_buf, JMP_BUF_ALIGN); +TEST_ALIGN (sigjmp_buf, SIGJMP_BUF_ALIGN); + +/* Check if internal fields in jmp_buf have the expected offsets. */ +TEST_OFFSET (struct __jmp_buf_tag, __mask_was_saved, + MASK_WAS_SAVED_OFFSET); +TEST_OFFSET (struct __jmp_buf_tag, __saved_mask, + SAVED_MASK_OFFSET); #endif #endif diff --git a/sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h new file mode 100644 index 0000000000..608a7ad1f7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 312 +#define SIGJMP_BUF_SIZE 312 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 176 +#define SAVED_MASK_OFFSET 184 diff --git a/sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h new file mode 100644 index 0000000000..b595173e6f --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 272 +#define SIGJMP_BUF_SIZE 272 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 136 +#define SAVED_MASK_OFFSET 144 diff --git a/sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h new file mode 100644 index 0000000000..eb64802525 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 392 +#define SIGJMP_BUF_SIZE 392 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 256 +#define SAVED_MASK_OFFSET 260 diff --git a/sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h new file mode 100644 index 0000000000..6ede0d6af7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/hppa/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 304 +#define SIGJMP_BUF_SIZE 304 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 168 +#define SAVED_MASK_OFFSET 172 diff --git a/sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h new file mode 100644 index 0000000000..554bbed309 --- /dev/null +++ b/sysdeps/unix/sysv/linux/i386/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 156 +#define SIGJMP_BUF_SIZE 156 +#define JMP_BUF_ALIGN 4 +#define SIGJMP_BUF_ALIGN 4 +#define MASK_WAS_SAVED_OFFSET 24 +#define SAVED_MASK_OFFSET 28 diff --git a/sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h new file mode 100644 index 0000000000..41788657ec --- /dev/null +++ b/sysdeps/unix/sysv/linux/ia64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 704 +#define SIGJMP_BUF_SIZE 704 +#define JMP_BUF_ALIGN 16 +#define SIGJMP_BUF_ALIGN 16 +#define MASK_WAS_SAVED_OFFSET 560 +#define SAVED_MASK_OFFSET 568 diff --git a/sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h new file mode 100644 index 0000000000..2f62ecb4b3 --- /dev/null +++ b/sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 288 +#define SIGJMP_BUF_SIZE 288 +#define JMP_BUF_ALIGN 2 +#define SIGJMP_BUF_ALIGN 2 +#define MASK_WAS_SAVED_OFFSET 156 +#define SAVED_MASK_OFFSET 160 diff --git a/sysdeps/unix/sysv/linux/microblaze/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/microblaze/jmp_buf-macros.h new file mode 100644 index 0000000000..9c435f7967 --- /dev/null +++ b/sysdeps/unix/sysv/linux/microblaze/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 216 +#define SIGJMP_BUF_SIZE 216 +#define JMP_BUF_ALIGN 4 +#define SIGJMP_BUF_ALIGN 4 +#define MASK_WAS_SAVED_OFFSET 84 +#define SAVED_MASK_OFFSET 88 diff --git a/sysdeps/unix/sysv/linux/mips/mips32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/mips/mips32/jmp_buf-macros.h new file mode 100644 index 0000000000..d46d69ecbd --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/mips32/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 240 +#define SIGJMP_BUF_SIZE 240 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 104 +#define SAVED_MASK_OFFSET 108 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/jmp_buf-macros.h new file mode 100644 index 0000000000..ed0f1232de --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 288 +#define SIGJMP_BUF_SIZE 288 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 152 +#define SAVED_MASK_OFFSET 156 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h new file mode 100644 index 0000000000..38b5b0636a --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 304 +#define SIGJMP_BUF_SIZE 304 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 168 +#define SAVED_MASK_OFFSET 176 diff --git a/sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h new file mode 100644 index 0000000000..1cb9cab420 --- /dev/null +++ b/sysdeps/unix/sysv/linux/nios2/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 172 +#define SIGJMP_BUF_SIZE 172 +#define JMP_BUF_ALIGN 4 +#define SIGJMP_BUF_ALIGN 4 +#define MASK_WAS_SAVED_OFFSET 40 +#define SAVED_MASK_OFFSET 44 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/jmp_buf-macros.h new file mode 100644 index 0000000000..11b0a8bb00 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 592 +#define SIGJMP_BUF_SIZE 592 +#define JMP_BUF_ALIGN 16 +#define SIGJMP_BUF_ALIGN 16 +#define MASK_WAS_SAVED_OFFSET 448 +#define SAVED_MASK_OFFSET 452 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/jmp_buf-macros.h new file mode 100644 index 0000000000..d3e0d4e146 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 656 +#define SIGJMP_BUF_SIZE 656 +#define JMP_BUF_ALIGN 16 +#define SIGJMP_BUF_ALIGN 16 +#define MASK_WAS_SAVED_OFFSET 512 +#define SAVED_MASK_OFFSET 520 diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/s390/s390-32/jmp_buf-macros.h new file mode 100644 index 0000000000..0f29ff90d0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/s390-32/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 188 +#define SIGJMP_BUF_SIZE 188 +#define JMP_BUF_ALIGN 4 +#define SIGJMP_BUF_ALIGN 4 +#define MASK_WAS_SAVED_OFFSET 56 +#define SAVED_MASK_OFFSET 60 diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/s390/s390-64/jmp_buf-macros.h new file mode 100644 index 0000000000..4e5f348eaf --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/s390-64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 280 +#define SIGJMP_BUF_SIZE 280 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 144 +#define SAVED_MASK_OFFSET 152 diff --git a/sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h new file mode 100644 index 0000000000..b2bc30db5d --- /dev/null +++ b/sysdeps/unix/sysv/linux/sh/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 192 +#define SIGJMP_BUF_SIZE 192 +#define JMP_BUF_ALIGN 4 +#define SIGJMP_BUF_ALIGN 4 +#define MASK_WAS_SAVED_OFFSET 60 +#define SAVED_MASK_OFFSET 64 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h new file mode 100644 index 0000000000..388533f88a --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 144 +#define SIGJMP_BUF_SIZE 144 +#define JMP_BUF_ALIGN 4 +#define SIGJMP_BUF_ALIGN 4 +#define MASK_WAS_SAVED_OFFSET 12 +#define SAVED_MASK_OFFSET 16 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h new file mode 100644 index 0000000000..e86afd7b3d --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 640 +#define SIGJMP_BUF_SIZE 640 +#define JMP_BUF_ALIGN 16 +#define SIGJMP_BUF_ALIGN 16 +#define MASK_WAS_SAVED_OFFSET 496 +#define SAVED_MASK_OFFSET 504 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h new file mode 100644 index 0000000000..eb64802525 --- /dev/null +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 392 +#define SIGJMP_BUF_SIZE 392 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 256 +#define SAVED_MASK_OFFSET 260 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h new file mode 100644 index 0000000000..685f9b8236 --- /dev/null +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 392 +#define SIGJMP_BUF_SIZE 392 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 256 +#define SAVED_MASK_OFFSET 264 diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h new file mode 100644 index 0000000000..411e62a047 --- /dev/null +++ b/sysdeps/unix/sysv/linux/tile/tilepro/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 260 +#define SIGJMP_BUF_SIZE 260 +#define JMP_BUF_ALIGN 4 +#define SIGJMP_BUF_ALIGN 4 +#define MASK_WAS_SAVED_OFFSET 128 +#define SAVED_MASK_OFFSET 132 diff --git a/sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h new file mode 100644 index 0000000000..3ae63ab5c5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86_64/64/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 200 +#define SIGJMP_BUF_SIZE 200 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 64 +#define SAVED_MASK_OFFSET 72 diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/x86_64/x32/jmp_buf-macros.h new file mode 100644 index 0000000000..2fa8e9ec38 --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86_64/x32/jmp_buf-macros.h @@ -0,0 +1,6 @@ +#define JMP_BUF_SIZE 200 +#define SIGJMP_BUF_SIZE 200 +#define JMP_BUF_ALIGN 8 +#define SIGJMP_BUF_ALIGN 8 +#define MASK_WAS_SAVED_OFFSET 64 +#define SAVED_MASK_OFFSET 68 -- 2.13.6