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
56067bbe
Commit
56067bbe
authored
Jan 13, 2004
by
James E Wilson
Committed by
Jim Wilson
Jan 12, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete unused file.
* unwind-libunwind.c: Delete. From-SVN: r75790
parent
d051dc88
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
192 deletions
+4
-192
gcc/ChangeLog
+4
-0
gcc/unwind-libunwind.c
+0
-192
No files found.
gcc/ChangeLog
View file @
56067bbe
2004-01-12 James E Wilson <wilson@specifixinc.com>
* unwind-libunwind.c: Delete.
2004-01-12 Zack Weinberg <zack@codesourcery.com>
PR 13656
...
...
gcc/unwind-libunwind.c
deleted
100644 → 0
View file @
d051dc88
/* Subroutines needed for unwinding stack frames via the libunwind API.
Copyright (C) 2002, 2003
Free Software Foundation, Inc.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* As a special exception, if you link this library with other files,
some of which are compiled with GCC, to produce an executable,
this library does not by itself cause the resulting executable
to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
#include "tconfig.h"
#include "tsystem.h"
#include "unwind.h"
#ifndef __USING_SJLJ_EXCEPTIONS__
#define UNW_LOCAL_ONLY
#include <libunwind.h>
typedef
struct
{
_Unwind_Personality_Fn
personality
;
}
_Unwind_FrameState
;
struct
_Unwind_Context
{
unw_cursor_t
cursor
;
};
/* First come the helper-routines that are needed by unwind.inc. */
static
_Unwind_Reason_Code
uw_frame_state_for
(
struct
_Unwind_Context
*
context
,
_Unwind_FrameState
*
fs
)
{
unw_proc_info_t
pi
;
if
(
unw_step
(
&
context
->
cursor
)
<=
0
)
return
_URC_END_OF_STACK
;
unw_get_proc_info
(
&
context
->
cursor
,
&
pi
);
fs
->
personality
=
(
_Unwind_Personality_Fn
)
pi
.
handler
;
return
_URC_NO_REASON
;
}
#define uw_update_context(context,fs) do { ; } while (0)
static
inline
_Unwind_Ptr
uw_identify_context
(
struct
_Unwind_Context
*
context
)
{
unw_word_t
ip
;
unw_get_reg
(
&
context
->
cursor
,
UNW_REG_IP
,
&
ip
);
return
(
_Unwind_Ptr
)
ip
;
}
#define uw_init_context(context) \
do \
{ \
unw_context_t uc; \
unw_getcontext (&uc); \
unw_init_local (&(context)->cursor, &uc); \
} \
while (0)
static
inline
void
__attribute__
((
noreturn
))
uw_install_context
(
struct
_Unwind_Context
*
current
__attribute__
((
unused
)),
struct
_Unwind_Context
*
target
)
{
unw_resume
(
&
(
target
)
->
cursor
);
abort
();
}
/* Now come the helper-routines which may be called from an exception
handler. The interface for these routines are defined by the C++
ABI. See: http://www.codesourcery.com/cxx-abi/abi-eh.html */
_Unwind_Word
_Unwind_GetGR
(
struct
_Unwind_Context
*
context
,
int
index
)
{
unw_word_t
ret
;
/* Note: here we depend on the fact that general registers are
expected to start with register number 0! */
unw_get_reg
(
&
context
->
cursor
,
index
,
&
ret
);
return
ret
;
}
/* Get the value of the CFA as saved in CONTEXT. */
_Unwind_Word
_Unwind_GetCFA
(
struct
_Unwind_Context
*
context
)
{
unw_word_t
ret
;
unw_get_reg
(
&
context
->
cursor
,
UNW_IA64_SP
,
&
ret
);
return
ret
;
}
/* Overwrite the saved value for register REG in CONTEXT with VAL. */
void
_Unwind_SetGR
(
struct
_Unwind_Context
*
context
,
int
index
,
_Unwind_Word
val
)
{
/* Note: here we depend on the fact that general registers are
expected to start with register number 0! */
unw_set_reg
(
&
context
->
cursor
,
index
,
val
);
#ifdef UNW_TARGET_IA64
if
(
index
>=
UNW_IA64_GR
&&
index
<=
UNW_IA64_GR
+
127
)
/* Clear the NaT bit. */
unw_set_reg
(
&
context
->
cursor
,
UNW_IA64_NAT
+
(
index
-
UNW_IA64_GR
),
0
);
#endif
}
/* Retrieve the return address for CONTEXT. */
inline
_Unwind_Ptr
_Unwind_GetIP
(
struct
_Unwind_Context
*
context
)
{
unw_word_t
ret
;
unw_get_reg
(
&
context
->
cursor
,
UNW_REG_IP
,
&
ret
);
return
ret
;
}
/* Overwrite the return address for CONTEXT with VAL. */
inline
void
_Unwind_SetIP
(
struct
_Unwind_Context
*
context
,
_Unwind_Ptr
val
)
{
unw_set_reg
(
&
context
->
cursor
,
UNW_REG_IP
,
val
);
}
void
*
_Unwind_GetLanguageSpecificData
(
struct
_Unwind_Context
*
context
)
{
unw_proc_info_t
pi
;
unw_get_proc_info
(
&
context
->
cursor
,
&
pi
);
return
(
void
*
)
pi
.
lsda
;
}
_Unwind_Ptr
_Unwind_GetRegionStart
(
struct
_Unwind_Context
*
context
)
{
unw_proc_info_t
pi
;
unw_get_proc_info
(
&
context
->
cursor
,
&
pi
);
return
(
_Unwind_Ptr
)
pi
.
start_ip
;
}
void
*
_Unwind_FindEnclosingFunction
(
void
*
pc
)
{
return
NULL
;
}
#ifdef UNW_TARGET_IA64
_Unwind_Word
_Unwind_GetBSP
(
struct
_Unwind_Context
*
context
)
{
unw_word_t
ret
;
unw_get_reg
(
&
context
->
cursor
,
UNW_IA64_BSP
,
&
ret
);
return
ret
;
}
#endif
#include "unwind.inc"
#endif
/* !__USING_SJLJ_EXCEPTIONS__ */
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