Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
d6220b3a
Commit
d6220b3a
authored
Mar 26, 2002
by
Hans Boehm
Committed by
Hans Boehm
Mar 26, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* include/dwarf2-signal.h: Temporarily back out last change.
From-SVN: r51415
parent
1eefb6c1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
30 deletions
+6
-30
libjava/ChangeLog
+4
-0
libjava/include/dwarf2-signal.h
+2
-30
No files found.
libjava/ChangeLog
View file @
d6220b3a
2002
-
03
-
26
Hans
Boehm
<
Hans_Boehm
@
hp
.
com
>
*
include
/
dwarf2
-
signal
.
h
:
Temporarily
back
out
last
change
.
2002
-
03
-
26
Loren
J
.
Rittle
<
ljrittle
@
acm
.
org
>
*
include
/
posix
-
threads
.
h
:
Support
<.../
pal
.
h
>
on
FreeBSD
/
alpha
.
...
...
libjava/include/dwarf2-signal.h
View file @
d6220b3a
...
...
@@ -41,25 +41,7 @@ do \
_sc->sc_pc += 4; \
} \
while (0)
#elif defined(__ia64__)
#define MAKE_THROW_FRAME(_exception) \
do \
{ \
/* IA-64 either leaves PC pointing at a faulting instruction or the \
following instruction, depending on the signal. SEGV always does \
the former, so we adjust the saved PC to point to the following \
instruction; this is what the handler in libgcc expects. */
\
/* Note that we are lying to the unwinder here, which expects the \
faulting pc, not pc+1. But we claim the unwind information can't \
be changed by such a ld or st instruction, so it doesn't matter. */
\
struct sigcontext *_sc = (struct sigcontext *)_p; \
_sc->sc_ip++; \
} \
while (0)
#else
#error
#define MAKE_THROW_FRAME(_exception) \
do \
{ \
...
...
@@ -68,16 +50,6 @@ do \
while (0)
#endif
// FIXME: We shouldn't be using libc_sigaction here, since it should
// be glibc private. But using syscall here would mean translating to
// the kernel's struct sigaction and argument sequence, which we
// shouldn't either. The right solution is to call sigaction and to
// make sure that we can unwind correctly through the pthread signal
// wrapper.
extern
"C"
int
__libc_sigaction
(
int
__sig
,
__const
struct
sigaction
*
__restrict
__act
,
struct
sigaction
*
__restrict
__oact
)
throw
();
#define INIT_SEGV \
do \
{ \
...
...
@@ -86,7 +58,7 @@ do \
act.sa_sigaction = _Jv_catch_segv; \
sigemptyset (&act.sa_mask); \
act.sa_flags = SA_SIGINFO; \
__libc_sigaction (
SIGSEGV, &act, NULL); \
syscall (SYS_sigaction,
SIGSEGV, &act, NULL); \
} \
while (0)
...
...
@@ -99,7 +71,7 @@ do \
act.sa_sigaction = _Jv_catch_fpe; \
sigemptyset (&act.sa_mask); \
act.sa_flags = SA_SIGINFO; \
__libc_sigaction (
SIGFPE, &act, NULL); \
syscall (SYS_sigaction,
SIGFPE, &act, NULL); \
} \
while (0)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment