mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-29 10:17: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