mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-22 07:37:38 +01:00
(Logical change 1.9)
This commit is contained in:
parent
3d5c9efd1e
commit
6f514a6726
5 changed files with 91 additions and 0 deletions
|
@ -0,0 +1,4 @@
|
|||
#ifndef UNW_REMOTE_ONLY
|
||||
#define UNW_LOCAL_ONLY
|
||||
#include "unw_get_fpreg.c"
|
||||
#endif
|
|
@ -0,0 +1,4 @@
|
|||
#ifndef UNW_REMOTE_ONLY
|
||||
#define UNW_LOCAL_ONLY
|
||||
#include "unw_set_fpreg.c"
|
||||
#endif
|
|
@ -0,0 +1,32 @@
|
|||
/* libunwind - a platform-independent unwind library
|
||||
Copyright (C) 2002 Hewlett-Packard Co
|
||||
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
||||
|
||||
This file is part of libunwind.
|
||||
|
||||
libunwind 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.
|
||||
|
||||
libunwind 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.
|
||||
|
||||
As a special exception, if you link this library with other files 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 "unwind_i.h"
|
||||
|
||||
int
|
||||
unw_get_fpreg (unw_cursor_t *cursor, int regnum, unw_fpreg_t *valp)
|
||||
{
|
||||
struct ia64_cursor *c = (struct ia64_cursor *) cursor;
|
||||
|
||||
return ia64_access_fpreg (c, regnum, valp, 0);
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
int
|
||||
unw_get_save_loc (unw_cursor_t *cursor, int regnum, unw_save_loc_t *loc)
|
||||
{
|
||||
#ifdef UNW_LOCAL_ONLY
|
||||
unw_word_t addr;
|
||||
|
||||
YYY; this is wrong: need to consider cursor save locs first; YYY
|
||||
loc->type = UNW_SLT_NONE;
|
||||
addr = uc_addr (c->uc, regnum);
|
||||
if (addr)
|
||||
{
|
||||
loc->type = UNW_SLT_MEMORY;
|
||||
loc->addr = addr;
|
||||
}
|
||||
#else
|
||||
XXX;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
/* libunwind - a platform-independent unwind library
|
||||
Copyright (C) 2002 Hewlett-Packard Co
|
||||
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
|
||||
|
||||
This file is part of libunwind.
|
||||
|
||||
libunwind 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.
|
||||
|
||||
libunwind 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.
|
||||
|
||||
As a special exception, if you link this library with other files 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 "unwind_i.h"
|
||||
|
||||
int
|
||||
unw_set_fpreg (unw_cursor_t *cursor, int regnum, unw_fpreg_t val)
|
||||
{
|
||||
struct ia64_cursor *c = (struct ia64_cursor *) cursor;
|
||||
|
||||
return ia64_access_fpreg (c, regnum, &val, 1);
|
||||
}
|
Loading…
Reference in a new issue