mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2025-01-26 18:20:29 +01:00
Include "config.h" if we have it.
Include <inttypes.h> instead of <stdint.h>. HP-UX doesn't have the latter. Use "inline" instead of "__inline__" (the former gets properly #define'd by config.h). (Logical change 1.63)
This commit is contained in:
parent
00cfbc61fe
commit
ea91dee4a8
1 changed files with 10 additions and 6 deletions
|
@ -10,9 +10,13 @@
|
||||||
#ifndef RSE_H
|
#ifndef RSE_H
|
||||||
#define RSE_H
|
#define RSE_H
|
||||||
|
|
||||||
#include <stdint.h>
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
static __inline__ uint64_t
|
#include <inttypes.h>
|
||||||
|
|
||||||
|
static inline uint64_t
|
||||||
ia64_rse_slot_num (uint64_t addr)
|
ia64_rse_slot_num (uint64_t addr)
|
||||||
{
|
{
|
||||||
return (addr >> 3) & 0x3f;
|
return (addr >> 3) & 0x3f;
|
||||||
|
@ -21,7 +25,7 @@ ia64_rse_slot_num (uint64_t addr)
|
||||||
/*
|
/*
|
||||||
* Return TRUE if ADDR is the address of an RNAT slot.
|
* Return TRUE if ADDR is the address of an RNAT slot.
|
||||||
*/
|
*/
|
||||||
static __inline__ uint64_t
|
static inline uint64_t
|
||||||
ia64_rse_is_rnat_slot (uint64_t addr)
|
ia64_rse_is_rnat_slot (uint64_t addr)
|
||||||
{
|
{
|
||||||
return ia64_rse_slot_num (addr) == 0x3f;
|
return ia64_rse_slot_num (addr) == 0x3f;
|
||||||
|
@ -31,7 +35,7 @@ ia64_rse_is_rnat_slot (uint64_t addr)
|
||||||
* Returns the address of the RNAT slot that covers the slot at
|
* Returns the address of the RNAT slot that covers the slot at
|
||||||
* address SLOT_ADDR.
|
* address SLOT_ADDR.
|
||||||
*/
|
*/
|
||||||
static __inline__ uint64_t
|
static inline uint64_t
|
||||||
ia64_rse_rnat_addr (uint64_t slot_addr)
|
ia64_rse_rnat_addr (uint64_t slot_addr)
|
||||||
{
|
{
|
||||||
return slot_addr | (0x3f << 3);
|
return slot_addr | (0x3f << 3);
|
||||||
|
@ -42,7 +46,7 @@ ia64_rse_rnat_addr (uint64_t slot_addr)
|
||||||
* BSPSTORE and ending at BSP. This isn't simply (BSP-BSPSTORE)/8
|
* BSPSTORE and ending at BSP. This isn't simply (BSP-BSPSTORE)/8
|
||||||
* because every 64th slot stores ar.rnat.
|
* because every 64th slot stores ar.rnat.
|
||||||
*/
|
*/
|
||||||
static __inline__ uint64_t
|
static inline uint64_t
|
||||||
ia64_rse_num_regs (uint64_t bspstore, uint64_t bsp)
|
ia64_rse_num_regs (uint64_t bspstore, uint64_t bsp)
|
||||||
{
|
{
|
||||||
uint64_t slots = (bsp - bspstore) >> 3;
|
uint64_t slots = (bsp - bspstore) >> 3;
|
||||||
|
@ -54,7 +58,7 @@ ia64_rse_num_regs (uint64_t bspstore, uint64_t bsp)
|
||||||
* The inverse of the above: given bspstore and the number of
|
* The inverse of the above: given bspstore and the number of
|
||||||
* registers, calculate ar.bsp.
|
* registers, calculate ar.bsp.
|
||||||
*/
|
*/
|
||||||
static __inline__ uint64_t
|
static inline uint64_t
|
||||||
ia64_rse_skip_regs (uint64_t addr, long num_regs)
|
ia64_rse_skip_regs (uint64_t addr, long num_regs)
|
||||||
{
|
{
|
||||||
long delta = ia64_rse_slot_num(addr) + num_regs;
|
long delta = ia64_rse_slot_num(addr) + num_regs;
|
||||||
|
|
Loading…
Reference in a new issue