mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
Unify symbols in user namespace exported by libc.so and libc.a. * argp/argp-fmtstream.c: Don't define argp_make_fmtstream, argp_fmtstream_free, and argp_fmtstream_printf. * argp/argp-fs-xinl.c: Don't define argp_fmtstream_putc, argp_fmtstream_puts, argp_fmtstream_write, argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin, and argp_fmtstream_point. * gmon/gmon.c: Don't define write_profiling. * libio/genops.c: Don't define _cleanup. * intl/explodename.c (_nl_find_language.c): Mark as static. * intl/loadinfo.h: Remove _nl_find_language prototype. * libio/fileops.c (_IO_file_seekoff_maybe_mmap): Mark as static. * libio/libioP.h: Remove declaration. * libio/iopopen.c (_IO_proc_jumps): Mark as static. * libio/libioP.h: Remove declaration. * sysdeps/generic/unwind-dw2.c: Mark __frame_state_for with STATIC. * sysdeps/generic/framestate.c: Define STATIC before including unwind-dw2.c.
This commit is contained in:
23
ChangeLog
23
ChangeLog
@ -1,5 +1,28 @@
|
|||||||
2003-01-07 Ulrich Drepper <drepper@redhat.com>
|
2003-01-07 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
Unify symbols in user namespace exported by libc.so and libc.a.
|
||||||
|
* argp/argp-fmtstream.c: Don't define argp_make_fmtstream,
|
||||||
|
argp_fmtstream_free, and argp_fmtstream_printf.
|
||||||
|
* argp/argp-fs-xinl.c: Don't define argp_fmtstream_putc,
|
||||||
|
argp_fmtstream_puts, argp_fmtstream_write, argp_fmtstream_set_lmargin,
|
||||||
|
argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin, and
|
||||||
|
argp_fmtstream_point.
|
||||||
|
* gmon/gmon.c: Don't define write_profiling.
|
||||||
|
* libio/genops.c: Don't define _cleanup.
|
||||||
|
|
||||||
|
* intl/explodename.c (_nl_find_language.c): Mark as static.
|
||||||
|
* intl/loadinfo.h: Remove _nl_find_language prototype.
|
||||||
|
|
||||||
|
* libio/fileops.c (_IO_file_seekoff_maybe_mmap): Mark as static.
|
||||||
|
* libio/libioP.h: Remove declaration.
|
||||||
|
|
||||||
|
* libio/iopopen.c (_IO_proc_jumps): Mark as static.
|
||||||
|
* libio/libioP.h: Remove declaration.
|
||||||
|
|
||||||
|
* sysdeps/generic/unwind-dw2.c: Mark __frame_state_for with STATIC.
|
||||||
|
* sysdeps/generic/framestate.c: Define STATIC before including
|
||||||
|
unwind-dw2.c.
|
||||||
|
|
||||||
* time/Versions [GLIBC_2.3.2] (libc): Export strptime_l.
|
* time/Versions [GLIBC_2.3.2] (libc): Export strptime_l.
|
||||||
|
|
||||||
2003-01-06 Philip Blundell <philb@gnu.org>
|
2003-01-06 Philip Blundell <philb@gnu.org>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Word-wrapping and line-truncating streams
|
/* Word-wrapping and line-truncating streams
|
||||||
Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
|
Copyright (C) 1997,1998,1999,2001,2002,2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
@ -87,9 +87,12 @@ __argp_make_fmtstream (FILE *stream,
|
|||||||
|
|
||||||
return fs;
|
return fs;
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
|
/* Not exported. */
|
||||||
#ifdef weak_alias
|
#ifdef weak_alias
|
||||||
weak_alias (__argp_make_fmtstream, argp_make_fmtstream)
|
weak_alias (__argp_make_fmtstream, argp_make_fmtstream)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Flush FS to its stream, and free it (but don't close the stream). */
|
/* Flush FS to its stream, and free it (but don't close the stream). */
|
||||||
void
|
void
|
||||||
@ -108,9 +111,12 @@ __argp_fmtstream_free (argp_fmtstream_t fs)
|
|||||||
free (fs->buf);
|
free (fs->buf);
|
||||||
free (fs);
|
free (fs);
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
|
/* Not exported. */
|
||||||
#ifdef weak_alias
|
#ifdef weak_alias
|
||||||
weak_alias (__argp_fmtstream_free, argp_fmtstream_free)
|
weak_alias (__argp_fmtstream_free, argp_fmtstream_free)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Process FS's buffer so that line wrapping is done from POINT_OFFS to the
|
/* Process FS's buffer so that line wrapping is done from POINT_OFFS to the
|
||||||
end of its buffer. This code is mostly from glibc stdio/linewrap.c. */
|
end of its buffer. This code is mostly from glibc stdio/linewrap.c. */
|
||||||
@ -424,8 +430,11 @@ __argp_fmtstream_printf (struct argp_fmtstream *fs, const char *fmt, ...)
|
|||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
|
/* Not exported. */
|
||||||
#ifdef weak_alias
|
#ifdef weak_alias
|
||||||
weak_alias (__argp_fmtstream_printf, argp_fmtstream_printf)
|
weak_alias (__argp_fmtstream_printf, argp_fmtstream_printf)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* !ARGP_FMTSTREAM_USE_LINEWRAP */
|
#endif /* !ARGP_FMTSTREAM_USE_LINEWRAP */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Real definitions for extern inline functions in argp-fmtstream.h
|
/* Real definitions for extern inline functions in argp-fmtstream.h
|
||||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
Copyright (C) 1997, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
@ -27,6 +27,8 @@
|
|||||||
#define __OPTIMIZE__
|
#define __OPTIMIZE__
|
||||||
#include "argp-fmtstream.h"
|
#include "argp-fmtstream.h"
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* Not exported. */
|
||||||
/* Add weak aliases. */
|
/* Add weak aliases. */
|
||||||
#if _LIBC - 0 && !defined (ARGP_FMTSTREAM_USE_LINEWRAP) && defined (weak_alias)
|
#if _LIBC - 0 && !defined (ARGP_FMTSTREAM_USE_LINEWRAP) && defined (weak_alias)
|
||||||
|
|
||||||
@ -39,3 +41,4 @@ weak_alias (__argp_fmtstream_set_wmargin, argp_fmtstream_set_wmargin)
|
|||||||
weak_alias (__argp_fmtstream_point, argp_fmtstream_point)
|
weak_alias (__argp_fmtstream_point, argp_fmtstream_point)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
@ -381,7 +381,14 @@ __write_profiling (void)
|
|||||||
write_gmon ();
|
write_gmon ();
|
||||||
_gmonparam.state = save;
|
_gmonparam.state = save;
|
||||||
}
|
}
|
||||||
|
#ifndef SHARED
|
||||||
|
/* This symbol isn't used anywhere in the DSO and it is not exported.
|
||||||
|
This would normally mean it should be removed to get the same API
|
||||||
|
in static libraries. But since profiling is special in static libs
|
||||||
|
anyway we keep it. But not when building the DSO since some
|
||||||
|
quality assurance tests will otherwise trigger. */
|
||||||
weak_alias (__write_profiling, write_profiling)
|
weak_alias (__write_profiling, write_profiling)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1995-1998, 2000, 2001, 2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
|
||||||
|
|
||||||
@ -38,7 +38,9 @@
|
|||||||
|
|
||||||
/* @@ end of prolog @@ */
|
/* @@ end of prolog @@ */
|
||||||
|
|
||||||
char *
|
static char *_nl_find_language PARAMS ((const char *name));
|
||||||
|
|
||||||
|
static char *
|
||||||
_nl_find_language (name)
|
_nl_find_language (name)
|
||||||
const char *name;
|
const char *name;
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1996-2000, 2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||||
|
|
||||||
@ -96,6 +96,4 @@ extern int _nl_explode_name PARAMS ((char *name, const char **language,
|
|||||||
const char **codeset,
|
const char **codeset,
|
||||||
const char **normalized_codeset));
|
const char **normalized_codeset));
|
||||||
|
|
||||||
extern char *_nl_find_language PARAMS ((const char *name));
|
|
||||||
|
|
||||||
#endif /* loadinfo.h */
|
#endif /* loadinfo.h */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1993, 1995, 1997-2001, 2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1993, 1995, 1997-2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Per Bothner <bothner@cygnus.com>.
|
Written by Per Bothner <bothner@cygnus.com>.
|
||||||
|
|
||||||
@ -1185,12 +1185,9 @@ _IO_file_seekoff_mmap (fp, offset, dir, mode)
|
|||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
_IO_off64_t
|
static _IO_off64_t
|
||||||
_IO_file_seekoff_maybe_mmap (fp, offset, dir, mode)
|
_IO_file_seekoff_maybe_mmap (_IO_FILE *fp, _IO_off64_t offset, int dir,
|
||||||
_IO_FILE *fp;
|
int mode)
|
||||||
_IO_off64_t offset;
|
|
||||||
int dir;
|
|
||||||
int mode;
|
|
||||||
{
|
{
|
||||||
/* We only get here when we haven't tried to read anything yet.
|
/* We only get here when we haven't tried to read anything yet.
|
||||||
So there is nothing more useful for us to do here than just
|
So there is nothing more useful for us to do here than just
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1993,1995,1997-2001,2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1993,1995,1997-2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -1264,10 +1264,6 @@ __io_defs io_defs__;
|
|||||||
|
|
||||||
#endif /* TODO */
|
#endif /* TODO */
|
||||||
|
|
||||||
#ifdef weak_alias
|
|
||||||
weak_alias (_IO_cleanup, _cleanup)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef text_set_element
|
#ifdef text_set_element
|
||||||
text_set_element(__libc_atexit, _cleanup);
|
text_set_element(__libc_atexit, _IO_cleanup);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1993,1997-2001,2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1993, 1997-2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Per Bothner <bothner@cygnus.com>.
|
Written by Per Bothner <bothner@cygnus.com>.
|
||||||
|
|
||||||
@ -104,6 +104,7 @@ struct _IO_proc_file
|
|||||||
};
|
};
|
||||||
typedef struct _IO_proc_file _IO_proc_file;
|
typedef struct _IO_proc_file _IO_proc_file;
|
||||||
|
|
||||||
|
static struct _IO_jump_t _IO_proc_jumps;
|
||||||
static struct _IO_jump_t _IO_wproc_jumps;
|
static struct _IO_jump_t _IO_wproc_jumps;
|
||||||
|
|
||||||
static struct _IO_proc_file *proc_file_chain;
|
static struct _IO_proc_file *proc_file_chain;
|
||||||
@ -284,7 +285,7 @@ _IO_new_proc_close (fp)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
struct _IO_jump_t _IO_proc_jumps = {
|
static struct _IO_jump_t _IO_proc_jumps = {
|
||||||
JUMP_INIT_DUMMY,
|
JUMP_INIT_DUMMY,
|
||||||
JUMP_INIT(finish, _IO_new_file_finish),
|
JUMP_INIT(finish, _IO_new_file_finish),
|
||||||
JUMP_INIT(overflow, _IO_new_file_overflow),
|
JUMP_INIT(overflow, _IO_new_file_overflow),
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1993, 1997-2001, 2002 Free Software Foundation, Inc.
|
/* Copyright (C) 1993, 1997-2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -457,7 +457,6 @@ extern struct _IO_jump_t _IO_wfile_jumps_mmap attribute_hidden;
|
|||||||
extern struct _IO_jump_t _IO_wfile_jumps_maybe_mmap attribute_hidden;
|
extern struct _IO_jump_t _IO_wfile_jumps_maybe_mmap attribute_hidden;
|
||||||
extern struct _IO_jump_t _IO_old_file_jumps attribute_hidden;
|
extern struct _IO_jump_t _IO_old_file_jumps attribute_hidden;
|
||||||
extern struct _IO_jump_t _IO_streambuf_jumps;
|
extern struct _IO_jump_t _IO_streambuf_jumps;
|
||||||
extern struct _IO_jump_t _IO_proc_jumps attribute_hidden;
|
|
||||||
extern struct _IO_jump_t _IO_old_proc_jumps attribute_hidden;
|
extern struct _IO_jump_t _IO_old_proc_jumps attribute_hidden;
|
||||||
extern struct _IO_jump_t _IO_str_jumps attribute_hidden;
|
extern struct _IO_jump_t _IO_str_jumps attribute_hidden;
|
||||||
extern struct _IO_jump_t _IO_wstr_jumps attribute_hidden;
|
extern struct _IO_jump_t _IO_wstr_jumps attribute_hidden;
|
||||||
@ -526,8 +525,6 @@ extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
|
|||||||
extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
|
extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
|
||||||
extern _IO_off64_t _IO_file_seekoff_mmap __P ((_IO_FILE *, _IO_off64_t, int,
|
extern _IO_off64_t _IO_file_seekoff_mmap __P ((_IO_FILE *, _IO_off64_t, int,
|
||||||
int));
|
int));
|
||||||
extern _IO_off64_t _IO_file_seekoff_maybe_mmap __P ((_IO_FILE *, _IO_off64_t,
|
|
||||||
int, int));
|
|
||||||
extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
|
extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
|
||||||
extern _IO_size_t _IO_file_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
|
extern _IO_size_t _IO_file_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
|
||||||
extern int _IO_file_stat __P ((_IO_FILE *, void *));
|
extern int _IO_file_stat __P ((_IO_FILE *, void *));
|
||||||
|
@ -1 +1,2 @@
|
|||||||
libpthread-routines += sysdep s_pread64 s_pwrite64
|
# pull in __syscall_error routine
|
||||||
|
libpthread-routines += sysdep
|
||||||
|
@ -71,6 +71,9 @@
|
|||||||
# define DOCARGS_5 stw 7,36(1); DOCARGS_4
|
# define DOCARGS_5 stw 7,36(1); DOCARGS_4
|
||||||
# define UNDOCARGS_5 lwz 7,36(1); UNDOCARGS_4
|
# define UNDOCARGS_5 lwz 7,36(1); UNDOCARGS_4
|
||||||
|
|
||||||
|
# define DOCARGS_6 stw 8,40(1); DOCARGS_5
|
||||||
|
# define UNDOCARGS_6 lwz 8,40(1); UNDOCARGS_5
|
||||||
|
|
||||||
# ifdef IS_IN_libpthread
|
# ifdef IS_IN_libpthread
|
||||||
# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel)
|
# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel)
|
||||||
# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel)
|
# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* __frame_state_for unwinder helper function wrapper.
|
/* __frame_state_for unwinder helper function wrapper.
|
||||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
Copyright (C) 2001, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
|
Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
|
||||||
|
|
||||||
@ -20,16 +20,11 @@
|
|||||||
|
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#define STATIC static
|
||||||
#define __frame_state_for fallback_frame_state_for
|
#define __frame_state_for fallback_frame_state_for
|
||||||
#include <unwind-dw2.c>
|
#include <unwind-dw2.c>
|
||||||
#undef __frame_state_for
|
#undef __frame_state_for
|
||||||
|
|
||||||
struct frame_state * fallback_frame_state_for (void *, struct frame_state *)
|
|
||||||
#ifdef _LIBC
|
|
||||||
attribute_hidden
|
|
||||||
#endif
|
|
||||||
;
|
|
||||||
|
|
||||||
typedef struct frame_state * (*framesf)(void *pc, struct frame_state *);
|
typedef struct frame_state * (*framesf)(void *pc, struct frame_state *);
|
||||||
struct frame_state *__frame_state_for (void *pc,
|
struct frame_state *__frame_state_for (void *pc,
|
||||||
struct frame_state *frame_state);
|
struct frame_state *frame_state);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* DWARF2 exception handling and frame unwind runtime interface routines.
|
/* DWARF2 exception handling and frame unwind runtime interface routines.
|
||||||
Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
Copyright (C) 1997,1998,1999,2000,2001,2003 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU CC.
|
This file is part of GNU CC.
|
||||||
|
|
||||||
@ -783,7 +783,7 @@ execute_cfa_program (const unsigned char *insn_ptr,
|
|||||||
fs->regs.reg[reg].loc.reg = reg2;
|
fs->regs.reg[reg].loc.reg = reg2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DW_CFA_remember_state:
|
case DW_CFA_remember_state:
|
||||||
{
|
{
|
||||||
struct frame_state_reg_info *new_rs;
|
struct frame_state_reg_info *new_rs;
|
||||||
@ -852,7 +852,7 @@ execute_cfa_program (const unsigned char *insn_ptr,
|
|||||||
fs->regs.reg[reg].how = REG_SAVED_OFFSET;
|
fs->regs.reg[reg].how = REG_SAVED_OFFSET;
|
||||||
fs->regs.reg[reg].loc.offset = offset;
|
fs->regs.reg[reg].loc.offset = offset;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DW_CFA_def_cfa_sf:
|
case DW_CFA_def_cfa_sf:
|
||||||
insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
|
insn_ptr = read_uleb128 (insn_ptr, &ptrtmp);
|
||||||
fs->cfa_reg = ptrtmp;
|
fs->cfa_reg = ptrtmp;
|
||||||
@ -971,12 +971,18 @@ typedef struct frame_state
|
|||||||
char saved[DWARF_FRAME_REGISTERS+1];
|
char saved[DWARF_FRAME_REGISTERS+1];
|
||||||
} frame_state;
|
} frame_state;
|
||||||
|
|
||||||
|
#ifndef STATIC
|
||||||
|
# define STATIC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
STATIC
|
||||||
struct frame_state * __frame_state_for (void *, struct frame_state *);
|
struct frame_state * __frame_state_for (void *, struct frame_state *);
|
||||||
|
|
||||||
/* Called from pre-G++ 3.0 __throw to find the registers to restore for
|
/* Called from pre-G++ 3.0 __throw to find the registers to restore for
|
||||||
a given PC_TARGET. The caller should allocate a local variable of
|
a given PC_TARGET. The caller should allocate a local variable of
|
||||||
`struct frame_state' and pass its address to STATE_IN. */
|
`struct frame_state' and pass its address to STATE_IN. */
|
||||||
|
|
||||||
|
STATIC
|
||||||
struct frame_state *
|
struct frame_state *
|
||||||
__frame_state_for (void *pc_target, struct frame_state *state_in)
|
__frame_state_for (void *pc_target, struct frame_state *state_in)
|
||||||
{
|
{
|
||||||
@ -1037,7 +1043,7 @@ uw_update_context_1 (struct _Unwind_Context *context, _Unwind_FrameState *fs)
|
|||||||
/* Special handling here: Many machines do not use a frame pointer,
|
/* Special handling here: Many machines do not use a frame pointer,
|
||||||
and track the CFA only through offsets from the stack pointer from
|
and track the CFA only through offsets from the stack pointer from
|
||||||
one frame to the next. In this case, the stack pointer is never
|
one frame to the next. In this case, the stack pointer is never
|
||||||
stored, so it has no saved address in the context. What we do
|
stored, so it has no saved address in the context. What we do
|
||||||
have is the CFA from the previous stack frame. */
|
have is the CFA from the previous stack frame. */
|
||||||
if (context->reg[fs->cfa_reg] == NULL)
|
if (context->reg[fs->cfa_reg] == NULL)
|
||||||
cfa = context->cfa;
|
cfa = context->cfa;
|
||||||
@ -1106,7 +1112,7 @@ uw_update_context (struct _Unwind_Context *context, _Unwind_FrameState *fs)
|
|||||||
|
|
||||||
/* Fill in CONTEXT for top-of-stack. The only valid registers at this
|
/* Fill in CONTEXT for top-of-stack. The only valid registers at this
|
||||||
level will be the return address and the CFA. */
|
level will be the return address and the CFA. */
|
||||||
|
|
||||||
#define uw_init_context(CONTEXT) \
|
#define uw_init_context(CONTEXT) \
|
||||||
do { \
|
do { \
|
||||||
/* Do any necessary initialization to access arbitrary stack frames. \
|
/* Do any necessary initialization to access arbitrary stack frames. \
|
||||||
|
Reference in New Issue
Block a user