• Home
  • History
  • Annotate
  • only in /external/libunwind/src/setjmp/
History log of /external/libunwind/src/setjmp/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
af23f0a04b9f58f05e2a6567fb619002b993950d 23-Aug-2013 Luca Clementi <luca.clementi@gmail.com> Add Cflags keyword to pkg-config metadata files

pkg-config metadata template files are missing Cflags keyword
which is required to properly compile against libunwind using
PKG_* autoconf macros

Acked-by: Mike Frysinger <vapier@gentoo.org>
ibunwind-setjmp.pc.in
ea5e90fd9f6ef9840c71b8c4a304793547263de3 15-Sep-2012 Alexander Toresson <alexander.toresson@gmail.com> Create and install pkg-config .pc files

[Edit: renamed to libunwind-generic.pc and some .pc files
created only when needed -- asharma@fb.com]
ibunwind-setjmp.pc.in
814bd79fb1814eb5bbeb2fdb652d5ae08f1edd28 04-Aug-2012 Arun Sharma <asharma@fb.com> Fix some compiler warnings
iglongjmp.c
59328832f7ee48682fcd0fd1ca0cb9cfdb32ec4a 05-Feb-2012 Konstantin Belousov <kib@freebsd.org> Provide the FreeBSD implementation for _UI_siglongjmp_cont on x86.
On FreeBSD, _NSIG is at least 128, so just pass a pointer to the
signal mask in the register.
Add my copyright.
iglongjmp.c
2b606faa21024932f6819ba31e846d866db9d2f9 26-Nov-2011 Konstantin Belousov <kostikbel@gmail.com> Fix compilation on non-glibc machines.

Commit 297d9cd07d7ea9b541fb13bffe418 (Fix for failing test-setjmp)
breaks non glibc systems, since __GLIBC_PREREQ is not defined there.
As a consequence, preprocessor aborts with an error.

Trying to hide __GLIBC_PREREQ under #ifdef __GLIBC would require
either code duplication, or moving the longjmp implementation into
the separate file, which is included twice. In fact, I am not sure
in any use of the __GLIBC_PREREQ at the compile time, because the
compiled code can be run on the later version of glibc.

Below is the patch, tested on FreeBSD x86/x86_64 and Scientific Linux 6.1
x86_64. I compile the code always, but keep it in under unused static
symbol. In principle, the code could be optimized out by linker.

[ Minor formatting edits: asharma@fb.com ]
ongjmp.c
iglongjmp.c
297d9cd07d7ea9b541fb13bffe418c8b2a8c3aa6 15-Nov-2011 Paul Pluzhnikov <ppluzhnikov@google.com> Fix for failing test-setjmp

On Mon, Nov 14, 2011 at 5:02 PM, Paul Pluzhnikov <ppluzhnikov@google.com> wrote:

> P.S. test-setjmp is failing for me (before or after the patch).
> When I enable assertions (to confirm my new assertions are correct), I see:
>
>  lt-test-setjmp: ../../src/dwarf/Gparser.c:754: apply_reg_state: \
>    Assertion `rs->reg[17].where == DWARF_WHERE_EXPR' failed.
>
> which likely explains that failure.

The problem is actually two-fold:

First, the loops in {sig,}longjmp.c are "do { ... } while (unw_step() >= 0);"

But unw_step() returns 0 on reaching the end of the chain (_start),
and the loop should stop there.

The second problem is that with this commit:
http://repo.or.cz/w/glibc.git/commitdiff/c67da0b50e3d20f89d7bb352cd67dcf66d808e50
glibc obfuscates value of SP in jmp_buf, so we might as well just give up.

Patch attached.

Thanks,
--
Paul Pluzhnikov
ongjmp.c
iglongjmp.c
c4133e879b8cfa7e7295f7d35bde22dfc800ebc8 16-Oct-2011 Arun Sharma <asharma@fb.com> undef FORTIFY_SOURCE

It's a bit annoying to undefine at configure or compile time.

Signed-off-by: Arun Sharma <asharma@fb.com>
ongjmp.c
5715d912f4f43041735031170d7f8ead6f70924d 03-Apr-2010 Konstantin Belousov <kostik@pooma.home> Make setjmp/longjmp work at least on FreeBSD/amd64.
FreeBSD-supplied setjmp() saves incremented stack pointer into jmpbuf.

I have no idea whether siglongjmp ever worked on amd64, since
UNW_NUM_EH_REGS == 2 and abort at siglongjmp.c:81 is firing.
ongjmp.c
iglongjmp.c
093855f12a00d4eacf548db6095235f970f88305 07-Mar-2010 Konstantin Belousov <kostik@pooma.home> Remove unneeded includes of sys/types.h
ongjmp.c
3eabce18b1e70c3b26975024e450977dfb4b84b9 06-Mar-2010 Konstantin Belousov <kostik@pooma.home> Include sys/types.h when needed.
ongjmp.c
29c110265f50c14b8611a3f14be3941b23952125 06-Mar-2010 Konstantin Belousov <kostik@pooma.home> _NSIG.
iglongjmp.c
3842dac7333e42aa44531eda34ba55200b99ccf8 05-Feb-2008 Daniel Jacobowitz <drow@false.org> Add initial ARM and MIPS support. To support this, also enable the
reading of .debug_frame sections (used in lieu of .eh_frame sections
when they're not available).
ongjmp.c
iglongjmp.c
fd2fa63a6cfb475f29cf81a7b32235f6915ef6a4 26-Jul-2006 David Mosberger-Tang <davidm@koala.localdomain> Fix missed merge on setjmp_i.h and siglongjmp.c.
etjmp_i.h
iglongjmp.c
a369768c279654ae247643f81e0d2f6f7ddd4d15 26-Jul-2006 David Mosberger-Tang <davidm@koala.localdomain> Revert "Initial revision"

This reverts 06d223e924c0c16f2df3e1eeb92e4c44224969fd commit.
ongjmp.c
etjmp_i.h
iglongjmp.c
83820a78d1ac4daf3a1808f34bae8a8e195db5f9 20-May-2005 hp.com!davidm <hp.com!davidm> Include "libunwind_i.h" instead of "tdep.h".
Include "tdep-ia64/rse.h" instead of "ia64/rse.h".

(Logical change 1.294)
etjmp_i.h
d9e100753f5694ebb14769048373e8171f336127 20-May-2005 hp.com!davidm <hp.com!davidm> Include "libunwind_i.h" instead of "tdep.h".

(Logical change 1.294)
iglongjmp.c
4d7f2a5be7c24f00f0d2e4c2ca585ebb06241633 03-May-2005 mostang.com!davidm <mostang.com!davidm> Rename: src/sigsetjmp.c -> src/setjmp/sigsetjmp.c

(Logical change 1.290)
igsetjmp.c
8e06df0e529535c6aa563aad4ba1edc21a456bd1 03-May-2005 mostang.com!davidm <mostang.com!davidm> Rename: src/setjmp.c -> src/setjmp/setjmp.c

(Logical change 1.290)
etjmp.c
06d223e924c0c16f2df3e1eeb92e4c44224969fd 03-May-2005 mostang.com!davidm <mostang.com!davidm> Initial revision
ongjmp.c
etjmp.c
etjmp_i.h
iglongjmp.c
igsetjmp.c
4f16756123d6203bc1ce4977032fb93c632a5a56 03-May-2005 mostang.com!davidm <mostang.com!davidm> Include "setjmp_i.h".
Abstract ia64-specific code into bsp_match() routine.
Support any platform with at least 2 EH argument registers.

2004/12/06 01:33:16-08:00 mostang.com!davidm
Rename: src/longjmp.c -> src/setjmp/longjmp.c

(Logical change 1.290)
ongjmp.c
acf90b1f82efaef45ed3cce2d3e565582f764579 03-May-2005 mostang.com!davidm <mostang.com!davidm> Include "setjmp_i.h".
Abstract ia64-specific code into bsp_match() and
resume_restores_sigmask() routines.

2004/12/06 01:33:01-08:00 mostang.com!davidm
Rename: src/siglongjmp.c -> src/setjmp/siglongjmp.c

(Logical change 1.290)
iglongjmp.c
3f73836b87c05e1d3efab97da9d343f2cdee5c46 03-May-2005 mostang.com!davidm <mostang.com!davidm> Adjust for "ia64_rse" to "rse" prefix change.

2004/12/15 15:40:09-08:00 hp.com!davidm
Include "tdep.h" on ia64 (we need the cursor).
(bsp_match): Fix it so it compiles again.
(resume_restore_sigmask): Likewise.

2004/12/06 10:40:49-08:00 mostang.com!davidm

(Logical change 1.290)
etjmp_i.h