libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list of EH symbols.
2001-01-23 Chris Demetriou <cgd@broadcom.com> * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list of EH symbols. * libgcc2.c (__terminate_func): Make variable static. (__terminate_set_func): New function to set __terminate_func. * libgcc2.h (__terminate_func_ptr): New typedef. (__terminate_set_func): New function. From-SVN: r39224
This commit is contained in:
parent
0006091ec2
commit
8a1894ac7b
@ -1,3 +1,12 @@
|
|||||||
|
2001-01-23 Chris Demetriou <cgd@broadcom.com>
|
||||||
|
|
||||||
|
* libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
|
||||||
|
of EH symbols.
|
||||||
|
* libgcc2.c (__terminate_func): Make variable static.
|
||||||
|
(__terminate_set_func): New function to set __terminate_func.
|
||||||
|
* libgcc2.h (__terminate_func_ptr): New typedef.
|
||||||
|
(__terminate_set_func): New function.
|
||||||
|
|
||||||
2001-01-23 Richard Henderson <rth@redhat.com>
|
2001-01-23 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
* flow.c (init_propagate_block_info): Don't consider unchanging
|
* flow.c (init_propagate_block_info): Don't consider unchanging
|
||||||
|
@ -132,6 +132,7 @@ GCC_3.0 {
|
|||||||
__sjpopnthrow
|
__sjpopnthrow
|
||||||
__sjthrow
|
__sjthrow
|
||||||
__terminate
|
__terminate
|
||||||
|
__terminate_set_func
|
||||||
__throw
|
__throw
|
||||||
__throw_type_match
|
__throw_type_match
|
||||||
__unwinding_cleanup
|
__unwinding_cleanup
|
||||||
|
@ -3143,7 +3143,7 @@ __default_terminate (void)
|
|||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void (*__terminate_func)(void) __attribute__ ((__noreturn__)) =
|
static __terminate_func_ptr __terminate_func =
|
||||||
__default_terminate;
|
__default_terminate;
|
||||||
|
|
||||||
void __attribute__((__noreturn__))
|
void __attribute__((__noreturn__))
|
||||||
@ -3152,6 +3152,15 @@ __terminate (void)
|
|||||||
(*__terminate_func)();
|
(*__terminate_func)();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__terminate_func_ptr
|
||||||
|
__terminate_set_func (__terminate_func_ptr newfunc)
|
||||||
|
{
|
||||||
|
__terminate_func_ptr oldfunc = __terminate_func;
|
||||||
|
|
||||||
|
__terminate_func = newfunc;
|
||||||
|
return (oldfunc);
|
||||||
|
}
|
||||||
|
|
||||||
void *
|
void *
|
||||||
__throw_type_match (void *catch_type, void *throw_type, void *obj)
|
__throw_type_match (void *catch_type, void *throw_type, void *obj)
|
||||||
{
|
{
|
||||||
|
@ -22,12 +22,15 @@ Boston, MA 02111-1307, USA. */
|
|||||||
#ifndef __LIBGCC2_H__
|
#ifndef __LIBGCC2_H__
|
||||||
#define __LIBGCC2_H__
|
#define __LIBGCC2_H__
|
||||||
|
|
||||||
|
typedef void (*__terminate_func_ptr)(void) __attribute__ ((__noreturn__));
|
||||||
|
|
||||||
extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t);
|
extern int __gcc_bcmp (const unsigned char *, const unsigned char *, size_t);
|
||||||
extern void *__builtin_saveregs (void);
|
extern void *__builtin_saveregs (void);
|
||||||
extern void __dummy (void);
|
extern void __dummy (void);
|
||||||
extern void __clear_cache (char *, char *);
|
extern void __clear_cache (char *, char *);
|
||||||
extern void __pure_virtual (void) __attribute__ ((__noreturn__));
|
extern void __pure_virtual (void) __attribute__ ((__noreturn__));
|
||||||
extern void __terminate (void) __attribute__ ((__noreturn__));
|
extern void __terminate (void) __attribute__ ((__noreturn__));
|
||||||
|
extern __terminate_func_ptr __terminate_set_func (__terminate_func_ptr);
|
||||||
extern void __default_terminate (void) __attribute__ ((__noreturn__));
|
extern void __default_terminate (void) __attribute__ ((__noreturn__));
|
||||||
extern void *__throw_type_match (void *, void *, void *);
|
extern void *__throw_type_match (void *, void *, void *);
|
||||||
extern void __empty (void);
|
extern void __empty (void);
|
||||||
|
Loading…
Reference in New Issue
Block a user