Update.

}(Logical change 1.162)
diff --git a/src/Gdyn-remote.c b/src/Gdyn-remote.c
deleted file mode 100644
index 7978de8..0000000
--- a/src/Gdyn-remote.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/* libunwind - a platform-independent unwind library
-   Copyright (C) 2001-2002 Hewlett-Packard Co
-	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
-This file is part of libunwind.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include <stdlib.h>
-
-#include "internal.h"
-#include "tdep.h"
-
-static void
-free_regions (unw_dyn_region_info_t *region)
-{
-  if (region->next)
-    free_regions (region->next);
-  free (region);
-}
-
-static int
-intern_op (unw_addr_space_t as, unw_accessors_t *a, unw_word_t *addr,
-	   unw_dyn_op_t *op, void *arg)
-{
-  int ret;
-
-  if ((ret = fetch8 (as, a, addr, &op->tag, arg)) < 0
-      || (ret = fetch8 (as, a, addr, &op->qp, arg)) < 0
-      || (ret = fetch16 (as, a, addr, &op->reg, arg)) < 0
-      || (ret = fetch32 (as, a, addr, &op->when, arg)) < 0
-      || (ret = fetchw  (as, a, addr, &op->val, arg)) < 0)
-    return ret;
-  return 0;
-}
-
-static int
-intern_regions (unw_addr_space_t as, unw_accessors_t *a,
-		unw_word_t *addr, unw_dyn_region_info_t **regionp, void *arg)
-{
-  uint32_t insn_count, op_count, i;
-  unw_dyn_region_info_t *region;
-  unw_word_t next_addr;
-  int ret;
-
-  *regionp = NULL;
-
-  if (!*addr)
-    return 0;	/* NULL region-list */
-
-  if ((ret = fetchw (as, a, addr, &next_addr, arg)) < 0
-      || (ret = fetch32 (as, a, addr, (int32_t *) &insn_count, arg)) < 0
-      || (ret = fetch32 (as, a, addr, (int32_t *) &op_count, arg)) < 0)
-    return ret;
-
-  region = calloc (1, _U_dyn_region_info_size (op_count));
-  if (!region)
-    {
-      ret = -UNW_ENOMEM;
-      goto out;
-    }
-
-  region->insn_count = insn_count;
-  region->op_count = op_count;
-  for (i = 0; i < op_count; ++i)
-    if ((ret = intern_op (as, a, addr, region->op + i, arg)) < 0)
-      goto out;
-
-  if (next_addr)
-    if ((ret = intern_regions (as, a, &next_addr, &region->next, arg)) < 0)
-      goto out;
-
-  *regionp = region;
-  return 0;
-
- out:
-  if (region)
-    free_regions (region);
-  return ret;
-}
-
-static int
-intern_array (unw_addr_space_t as, unw_accessors_t *a,
-	      unw_word_t *addr, unw_word_t table_len, unw_word_t **table_data,
-	      void *arg)
-{
-  unw_word_t i, *data = calloc (table_len, WSIZE);
-  int ret = 0;
-
-  if (!data)
-    {
-      ret = -UNW_ENOMEM;
-      goto out;
-    }
-
-  for (i = 0; i < table_len; ++i)
-    if (fetchw (as, a, addr, data + i, arg) < 0)
-      goto out;
-
-  *table_data = data;
-  return 0;
-
- out:
-  if (data)
-    free (data);
-  return ret;
-}
-
-static void
-free_dyn_info (unw_dyn_info_t *di)
-{
-  switch (di->format)
-    {
-    case UNW_INFO_FORMAT_DYNAMIC:
-      if (di->u.pi.regions)
-	{
-	  free_regions (di->u.pi.regions);
-	  di->u.pi.regions = NULL;
-	}
-      break;
-
-    case UNW_INFO_FORMAT_TABLE:
-      if (di->u.ti.table_data)
-	{
-	  free (di->u.ti.table_data);
-	  di->u.ti.table_data = NULL;
-	}
-      break;
-
-    case UNW_INFO_FORMAT_REMOTE_TABLE:
-    default:
-      break;
-    }
-}
-
-static int
-intern_dyn_info (unw_addr_space_t as, unw_accessors_t *a,
-		 unw_word_t *addr, unw_dyn_info_t *di, void *arg)
-{
-  unw_word_t first_region;
-  int ret;
-
-  switch (di->format)
-    {
-    case UNW_INFO_FORMAT_DYNAMIC:
-      if ((ret = fetchw (as, a, addr, &di->u.pi.name_ptr, arg)) < 0
-	  || (ret = fetchw (as, a, addr, &di->u.pi.handler, arg)) < 0
-	  || (ret = fetch32 (as, a, addr,
-			     (int32_t *) &di->u.pi.flags, arg)) < 0)
-	goto out;
-      *addr += 4;	/* skip over pad0 */
-      if ((ret = fetchw (as, a, addr, &first_region, arg)) < 0
-	  || (ret = intern_regions (as, a, &first_region, &di->u.pi.regions,
-				    arg)) < 0)
-	goto out;
-      break;
-
-    case UNW_INFO_FORMAT_TABLE:
-      if ((ret = fetchw (as, a, addr, &di->u.ti.name_ptr, arg)) < 0
-	  || (ret = fetchw (as, a, addr, &di->u.ti.segbase, arg)) < 0
-	  || (ret = fetchw (as, a, addr, &di->u.ti.table_len, arg)) < 0
-	  || (ret = intern_array (as, a, addr, di->u.ti.table_len,
-				  &di->u.ti.table_data, arg)) < 0)
-	goto out;
-      break;
-
-    case UNW_INFO_FORMAT_REMOTE_TABLE:
-      if ((ret = fetchw (as, a, addr, &di->u.rti.name_ptr, arg)) < 0
-	  || (ret = fetchw (as, a, addr, &di->u.rti.segbase, arg)) < 0
-	  || (ret = fetchw (as, a, addr, &di->u.rti.table_len, arg)) < 0
-	  || (ret = fetchw (as, a, addr, &di->u.rti.table_data, arg)) < 0)
-	goto out;
-      break;
-
-    default:
-      ret = -UNW_ENOINFO;
-      goto out;
-    }
-  return 0;
-
- out:
-  free_dyn_info (di);
-  return ret;
-}
-
-HIDDEN int
-unwi_dyn_remote_find_proc_info (unw_addr_space_t as, unw_word_t ip,
-				unw_proc_info_t *pi,
-				int need_unwind_info, void *arg)
-{
-  unw_accessors_t *a = unw_get_accessors (as);
-  unw_word_t dyn_list_addr, addr, next_addr, gen1, gen2, start_ip, end_ip;
-  unw_dyn_info_t *di = NULL;
-  int ret;
-
-  if (as->dyn_info_list_addr)
-    dyn_list_addr = as->dyn_info_list_addr;
-  else
-    {
-      if ((*a->get_dyn_info_list_addr) (as, &dyn_list_addr, arg) < 0)
-	return -UNW_ENOINFO;
-      if (as->caching_policy != UNW_CACHE_NONE)
-	as->dyn_info_list_addr = dyn_list_addr;
-    }
-
-  do
-    {
-      addr = dyn_list_addr;
-
-      ret = -UNW_ENOINFO;
-
-      if (fetchw (as, a, &addr, &gen1, arg) < 0
-	  || fetchw (as, a, &addr, &next_addr, arg) < 0)
-	return ret;
-
-      for (addr = next_addr; addr != 0; addr = next_addr)
-	{
-	  if (fetchw (as, a, &addr, &next_addr, arg) < 0)
-	    goto recheck;	/* only fail if generation # didn't change */
-
-	  addr += WSIZE;	/* skip over prev_addr */
-
-	  if (fetchw (as, a, &addr, &start_ip, arg) < 0
-	      || fetchw (as, a, &addr, &end_ip, arg) < 0)
-	    goto recheck;	/* only fail if generation # didn't change */
-
-	  if (ip >= start_ip && ip < end_ip)
-	    {
-	      if (!di)
-		di = calloc (1, sizeof (*di));
-
-	      di->start_ip = start_ip;
-	      di->end_ip = end_ip;
-
-	      if (fetchw (as, a, &addr, &di->gp, arg) < 0
-		  || fetch32 (as, a, &addr, &di->format, arg) < 0)
-		goto recheck;	/* only fail if generation # didn't change */
-
-	      addr += 4;	/* skip over padding */
-
-	      if (need_unwind_info
-		  && intern_dyn_info (as, a, &addr, di, arg) < 0)
-		goto recheck;	/* only fail if generation # didn't change */
-
-	      if (unwi_extract_dynamic_proc_info (as, ip, pi, di,
-						  need_unwind_info, arg) < 0)
-		{
-		  free_dyn_info (di);
-		  goto recheck;	/* only fail if generation # didn't change */
-		}
-	      ret = 0;	/* OK, found it */
-	      break;
-	    }
-	}
-
-      /* Re-check generation number to ensure the data we have is
-	 consistent.  */
-    recheck:
-      addr = dyn_list_addr;
-      if (fetchw (as, a, &addr, &gen2, arg) < 0)
-	return ret;
-    }
-  while (gen1 != gen2);
-
-  if (ret < 0 && di)
-    free (di);
-
-  return ret;
-}
-
-HIDDEN void
-unwi_dyn_remote_put_unwind_info (unw_addr_space_t as, unw_proc_info_t *pi,
-				 void *arg)
-{
-  if (!pi->unwind_info)
-    return;
-
-  free_dyn_info (pi->unwind_info);
-  free (pi->unwind_info);
-  pi->unwind_info = NULL;
-}
-
-/* Returns 1 if the cache is up-to-date or -1 if the cache contained
-   stale data and had to be flushed.  */
-
-HIDDEN int
-unwi_dyn_validate_cache (unw_addr_space_t as, void *arg)
-{
-  unw_word_t addr, gen;
-  unw_accessors_t *a;
-
-  if (!as->dyn_info_list_addr)
-    /* If we don't have the dyn_info_list_addr, we don't have anything
-       in the cache.  */
-    return 0;
-
-  a = unw_get_accessors (as);
-  addr = as->dyn_info_list_addr;
-
-  if (fetchw (as, a, &addr, &gen, arg) < 0)
-    return 1;
-
-  if (gen == as->dyn_generation)
-    return 1;
-
-  unw_flush_cache (as, 0, 0);
-  as->dyn_generation = gen;
-  return -1;
-}
diff --git a/src/Gget_proc_name.c b/src/Gget_proc_name.c
deleted file mode 100644
index 65a0861..0000000
--- a/src/Gget_proc_name.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/* libunwind - a platform-independent unwind library
-   Copyright (C) 2001-2003 Hewlett-Packard Co
-	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
-This file is part of libunwind.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include "internal.h"
-
-static inline int
-intern_string (unw_addr_space_t as, unw_accessors_t *a,
-	       unw_word_t addr, char *buf, size_t buf_len, void *arg)
-{
-  size_t i;
-  int ret;
-
-  for (i = 0; i < buf_len; ++i)
-    {
-      if ((ret = fetch8 (as, a, &addr, buf + i, arg)) < 0)
-	return ret;
-
-      if (buf[i] == '\0')
-	return 0;		/* copied full string; return success */
-    }
-  buf[buf_len - 1] = '\0';	/* ensure string is NUL terminated */
-  return -UNW_ENOMEM;
-}
-
-HIDDEN int
-unwi_get_proc_name (unw_addr_space_t as, unw_word_t ip,
-		    char *buf, size_t buf_len, unw_word_t *offp, void *arg)
-{
-  unw_accessors_t *a = unw_get_accessors (as);
-  unw_proc_info_t pi;
-  int ret;
-
-  buf[0] = '\0';	/* always return a valid string, even if it's empty */
-
-  ret = unwi_find_dynamic_proc_info (as, ip, &pi, 1, arg);
-  if (ret == 0)
-    {
-      unw_dyn_info_t *di = pi.unwind_info;
-
-      if (offp)
-	*offp = ip - pi.start_ip;
-
-      switch (di->format)
-	{
-	case UNW_INFO_FORMAT_DYNAMIC:
-	  ret = intern_string (as, a, di->u.pi.name_ptr, buf, buf_len, arg);
-	  break;
-
-	case UNW_INFO_FORMAT_TABLE:
-	case UNW_INFO_FORMAT_REMOTE_TABLE:
-	  /* XXX should we create a fake name, e.g.: "tablenameN",
-	     where N is the index of the function in the table??? */
-	  ret = -UNW_ENOINFO;
-	  break;
-
-	default:
-	  ret = -UNW_EINVAL;
-	  break;
-	}
-      unwi_put_dynamic_unwind_info (as, &pi, arg);
-      return ret;
-    }
-
-  if (ret != -UNW_ENOINFO)
-    return ret;
-
-  /* not a dynamic procedure, try to lookup static procedure name: */
-
-  if (a->get_proc_name)
-    return (*a->get_proc_name) (as, ip, buf, buf_len, offp, arg);
-
-  return -UNW_ENOINFO;
-}
diff --git a/src/_UPT_access_mem.c b/src/_UPT_access_mem.c
deleted file mode 100644
index 86faf58..0000000
--- a/src/_UPT_access_mem.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* libunwind - a platform-independent unwind library
-   Copyright (C) 2003 Hewlett-Packard Co
-	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
-This file is part of libunwind.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include "_UPT_internal.h"
-
-int
-_UPT_access_mem (unw_addr_space_t as, unw_word_t addr, unw_word_t *val,
-		 int write, void *arg)
-{
-  struct UPT_info *ui = arg;
-  pid_t pid = ui->pid;
-
-  errno = 0;
-  if (write)
-    {
-      debug (100, "%s: mem[%lx] <- %lx\n", __FUNCTION__,
-	     (long) addr, (long) *val);
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-      ptrace (PTRACE_POKEDATA, pid, addr, *val);
-      if (errno)
-	return -UNW_EINVAL;
-#endif
-    }
-  else
-    {
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-      *val = ptrace (PTRACE_PEEKDATA, pid, addr, 0);
-      if (errno)
-	return -UNW_EINVAL;
-#endif
-      debug (100, "%s: mem[%lx] -> %lx\n", __FUNCTION__,
-	     (long) addr, (long) *val);
-    }
-  return 0;
-}
diff --git a/src/_UPT_access_reg.c b/src/_UPT_access_reg.c
deleted file mode 100644
index 4f324a1..0000000
--- a/src/_UPT_access_reg.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/* libunwind - a platform-independent unwind library
-   Copyright (C) 2003 Hewlett-Packard Co
-	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
-This file is part of libunwind.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include "_UPT_internal.h"
-
-#if UNW_TARGET_IA64
-# include <elf.h>
-# ifdef HAVE_ASM_PTRACE_OFFSETS_H
-#   include <asm/ptrace_offsets.h>
-# endif
-# include "ia64/rse.h"
-#endif
-
-int
-_UPT_access_reg (unw_addr_space_t as, unw_regnum_t reg, unw_word_t *val,
-		 int write, void *arg)
-{
-  struct UPT_info *ui = arg;
-  pid_t pid = ui->pid;
-
-#if UNW_DEBUG
-  if (write)
-    debug (100, "%s: %s <- %lx\n",
-	   __FUNCTION__, unw_regname (reg), (long) *val);
-#endif
-
-#if UNW_TARGET_IA64
-  if ((unsigned) reg - UNW_IA64_NAT < 32)
-    {
-      unsigned long nat_bits, mask;
-
-      /* The Linux ptrace represents the statc NaT bits as a single word.  */
-      mask = ((unw_word_t) 1) << (reg - UNW_IA64_NAT);
-      errno = 0;
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-      nat_bits = ptrace (PTRACE_PEEKUSER, pid, PT_NAT_BITS, 0);
-      if (errno)
-	goto badreg;
-#endif
-
-      if (write)
-	{
-	  if (*val)
-	    nat_bits |= mask;
-	  else
-	    nat_bits &= ~mask;
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	  errno = 0;
-	  ptrace (PTRACE_POKEUSER, pid, PT_NAT_BITS, nat_bits);
-	  if (errno)
-	    goto badreg;
-#endif
-	}
-      goto out;
-    }
-  else
-    switch (reg)
-      {
-      case UNW_IA64_GR + 0:
-	if (write)
-	  goto badreg;
-	*val = 0;
-	return 0;
-
-      case UNW_REG_IP:
-	{
-	  unsigned long ip, psr;
-
-	  /* distribute bundle-addr. & slot-number across PT_IIP & PT_IPSR.  */
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	  errno = 0;
-	  psr = ptrace (PTRACE_PEEKUSER, pid, PT_CR_IPSR, 0);
-	  if (errno)
-	    goto badreg;
-#endif
-	  if (write)
-	    {
-	      ip = *val & ~0xfUL;
-	      psr = (psr & ~0x3UL << 41) | (*val & 0x3);
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	      errno = 0;
-	      ptrace (PTRACE_POKEUSER, pid, PT_CR_IIP, ip);
-	      ptrace (PTRACE_POKEUSER, pid, PT_CR_IPSR, psr);
-	      if (errno)
-		goto badreg;
-#endif
-	    }
-	  else
-	    {
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	      errno = 0;
-	      ip = ptrace (PTRACE_PEEKUSER, pid, PT_CR_IIP, 0);
-	      if (errno)
-		goto badreg;
-#endif
-	      *val = ip + ((psr >> 41) & 0x3);
-	    }
-	  goto out;
-	}
-
-      case UNW_IA64_AR_BSPSTORE:
-	reg = UNW_IA64_AR_BSP;
-	break;
-
-      case UNW_IA64_AR_BSP:
-      case UNW_IA64_BSP:
-	{
-	  unsigned long sof, cfm, bsp;
-
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	  /* Account for the fact that ptrace() expects bsp to point
-	     _after_ the current register frame.  */
-	  errno = 0;
-	  cfm = ptrace (PTRACE_PEEKUSER, pid, PT_CFM, 0);
-	  if (errno)
-	    goto badreg;
-#endif
-	  sof = (cfm & 0x7f);
-
-	  if (write)
-	    {
-	      bsp = ia64_rse_skip_regs (*val, sof);
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	      errno = 0;
-	      ptrace (PTRACE_POKEUSER, pid, PT_AR_BSP, bsp);
-	      if (errno)
-		goto badreg;
-#endif
-	    }
-	  else
-	    {
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	      errno = 0;
-	      bsp = ptrace (PTRACE_PEEKUSER, pid, PT_AR_BSP, 0);
-	      if (errno)
-		goto badreg;
-#endif
-	      *val = ia64_rse_skip_regs (bsp, -sof);
-	    }
-	  goto out;
-	}
-
-      case UNW_IA64_CFM:
-	/* If we change CFM, we need to adjust ptrace's notion of bsp
-	   accordingly, so that the real bsp remains unchanged.  */
-	if (write)
-	  {
-	    unsigned long new_sof, old_sof, cfm, bsp;
-
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	    errno = 0;
-	    bsp = ptrace (PTRACE_PEEKUSER, pid, PT_AR_BSP, 0);
-	    cfm = ptrace (PTRACE_PEEKUSER, pid, PT_CFM, 0);
-#endif
-	    if (errno)
-	      goto badreg;
-	    old_sof = (cfm & 0x7f);
-	    new_sof = (*val & 0x7f);
-	    if (old_sof != new_sof)
-	      {
-		bsp = ia64_rse_skip_regs (bsp, -old_sof + new_sof);
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-		errno = 0;
-		ptrace (PTRACE_POKEUSER, pid, PT_AR_BSP, 0);
-		if (errno)
-		  goto badreg;
-#endif
-	      }
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-	    errno = 0;
-	    ptrace (PTRACE_POKEUSER, pid, PT_CFM, *val);
-	    if (errno)
-	      goto badreg;
-#endif
-	    goto out;
-	  }
-	break;
-      }
-#endif
-
-  if ((unsigned) reg >= sizeof (_UPT_reg_offset) / sizeof (_UPT_reg_offset[0]))
-    goto badreg;
-
-#ifdef HAVE_TTRACE
-#	warning No support for ttrace() yet.
-#else
-  errno = 0;
-  if (write)
-    ptrace (PTRACE_POKEUSER, pid, _UPT_reg_offset[reg], *val);
-  else
-    *val = ptrace (PTRACE_PEEKUSER, pid, _UPT_reg_offset[reg], 0);
-  if (errno)
-    goto badreg;
-#endif
-
-#ifdef UNW_TARGET_IA64
- out:
-#endif
-#if UNW_DEBUG
-  if (!write)
-    debug (100, "%s: %s -> %lx\n",
-	   __FUNCTION__, unw_regname (reg), (long) *val);
-#endif
-  return 0;
-
- badreg:
-  debug (1, "%s: bad register number %u\n", __FUNCTION__, reg);
-  return -UNW_EBADREG;
-}
diff --git a/src/_UPT_find_proc_info.c b/src/_UPT_find_proc_info.c
deleted file mode 100644
index f7d6988..0000000
--- a/src/_UPT_find_proc_info.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/* libunwind - a platform-independent unwind library
-   Copyright (C) 2003 Hewlett-Packard Co
-	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
-This file is part of libunwind.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include <elf.h>
-#include <fcntl.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <sys/mman.h>
-
-#include "_UPT_internal.h"
-
-#if UNW_TARGET_IA64
-
-#include "elf64.h"
-
-static unw_word_t
-find_gp (struct UPT_info *ui, Elf64_Phdr *pdyn, Elf64_Addr load_base)
-{
-  Elf64_Off soff, str_soff;
-  Elf64_Ehdr *ehdr = ui->ei.image;
-  Elf64_Shdr *shdr;
-  Elf64_Shdr *str_shdr;
-  Elf64_Addr gp = 0;
-  char *strtab;
-  int i;
-
-  if (pdyn)
-    {
-      /* If we have a PT_DYNAMIC program header, fetch the gp-value
-	 from the DT_PLTGOT entry.  */
-      Elf64_Dyn *dyn = (Elf64_Dyn *) (pdyn->p_offset + (char *) ui->ei.image);
-      for (; dyn->d_tag != DT_NULL; ++dyn)
-	if (dyn->d_tag == DT_PLTGOT)
-	  {
-	    gp = (Elf64_Addr) dyn->d_un.d_ptr + load_base;
-	    goto done;
-	  }
-    }
-
-  /* Without a PT_DYAMIC header, lets try to look for a non-empty .opd
-     section.  If there is such a section, we know it's full of
-     function descriptors, and we can simply pick up the gp from the
-     second word of the first entry in this table.  */
-
-  soff = ehdr->e_shoff;
-  str_soff = soff + (ehdr->e_shstrndx * ehdr->e_shentsize);
-
-  if (soff + ehdr->e_shnum * ehdr->e_shentsize > ui->ei.size)
-    {
-      debug (1, "%s: section table outside of image? (%lu > %lu)",
-	     __FUNCTION__, soff + ehdr->e_shnum * ehdr->e_shentsize,
-	     ui->ei.size);
-      goto done;
-    }
-
-  shdr = (Elf64_Shdr *) ((char *) ui->ei.image + soff);
-  str_shdr = (Elf64_Shdr *) ((char *) ui->ei.image + str_soff);
-  strtab = (char *) ui->ei.image + str_shdr->sh_offset;
-  for (i = 0; i < ehdr->e_shnum; ++i)
-    {
-      if (strcmp (strtab + shdr->sh_name, ".opd") == 0
-	  && shdr->sh_size >= 16)
-	{
-	  gp = ((Elf64_Addr *) ((char *) ui->ei.image + shdr->sh_offset))[1];
-	  goto done;
-	}
-      shdr = (Elf64_Shdr *) (((char *) shdr) + ehdr->e_shentsize);
-    }
-
- done:
-  debug (100, "%s: image at %p, gp = %lx\n", __FUNCTION__, ui->ei.image, gp);
-  return gp;
-}
-
-HIDDEN unw_dyn_info_t *
-_UPTi_find_unwind_table (struct UPT_info *ui, unw_addr_space_t as,
-			 char *path, unw_word_t segbase, unw_word_t mapoff)
-{
-  Elf64_Phdr *phdr, *ptxt = NULL, *punw = NULL, *pdyn = NULL;
-  Elf64_Ehdr *ehdr;
-  int i;
-
-  if (!_Uelf64_valid_object (&ui->ei))
-    return NULL;
-
-  ehdr = ui->ei.image;
-  phdr = (Elf64_Phdr *) ((char *) ui->ei.image + ehdr->e_phoff);
-
-  for (i = 0; i < ehdr->e_phnum; ++i)
-    {
-      switch (phdr[i].p_type)
-	{
-	case PT_LOAD:
-	  if (phdr[i].p_offset == mapoff)
-	    ptxt = phdr + i;
-	  break;
-
-	case PT_IA_64_UNWIND:
-	  punw = phdr + i;
-	  break;
-
-	case PT_DYNAMIC:
-	  pdyn = phdr + i;
-	  break;
-
-	default:
-	  break;
-	}
-    }
-  if (!ptxt || !punw)
-    return NULL;
-
-  ui->di_cache.start_ip = segbase;
-  ui->di_cache.end_ip = ui->di_cache.start_ip + ptxt->p_memsz;
-  ui->di_cache.gp = find_gp (ui, pdyn, segbase - ptxt->p_vaddr);
-  ui->di_cache.format = UNW_INFO_FORMAT_TABLE;
-  ui->di_cache.u.ti.name_ptr = 0;
-  ui->di_cache.u.ti.segbase = segbase;
-  ui->di_cache.u.ti.table_len = punw->p_memsz / sizeof (unw_word_t);
-  ui->di_cache.u.ti.table_data = (unw_word_t *)
-    ((char *) ui->ei.image + (punw->p_vaddr - ptxt->p_vaddr));
-  return &ui->di_cache;
-}
-
-#elif UNW_TARGET_X86
-
-HIDDEN unw_dyn_info_t *
-_UPTi_find_unwind_table (struct UPT_info *ui, unw_addr_space_t as,
-			 char *path, unw_word_t segbase, unw_word_t mapoff)
-{
-  return NULL;
-}
-
-#endif /* UNW_TARGET_X86 */
-
-static unw_dyn_info_t *
-get_unwind_info (struct UPT_info *ui, unw_addr_space_t as, unw_word_t ip)
-{
-  unsigned long segbase, mapoff;
-  char path[PATH_MAX];
-  unw_dyn_info_t *di;
-
-#if UNW_TARGET_IA64 && defined(__linux)
-  if (!ui->ktab.start_ip && _Uia64_get_kernel_table (&ui->ktab) < 0)
-    return NULL;
-
-  if (ip >= ui->ktab.start_ip && ip < ui->ktab.end_ip)
-    return &ui->ktab;
-#endif
-
-  if (ip >= ui->di_cache.start_ip && ip < ui->di_cache.end_ip)
-    return &ui->di_cache;
-
-  if (ui->ei.image)
-    {
-      munmap (ui->ei.image, ui->ei.size);
-      ui->ei.image = NULL;
-      ui->ei.size = 0;
-
-      /* invalidate the cache: */
-      ui->di_cache.start_ip = ui->di_cache.end_ip = 0;
-    }
-
-  if (tdep_get_elf_image (&ui->ei, ui->pid, ip, &segbase, &mapoff) < 0)
-    return NULL;
-
-  di = _UPTi_find_unwind_table (ui, as, path, segbase, mapoff);
-  if (!di
-      /* This can happen in corner cases where dynamically generated
-         code falls into the same page that contains the data-segment
-         and the page-offset of the code is within the first page of
-         the executable.  */
-      || ip < di->start_ip || ip >= di->end_ip)
-    return NULL;
-
-  return di;
-}
-
-int
-_UPT_find_proc_info (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
-		     int need_unwind_info, void *arg)
-{
-  struct UPT_info *ui = arg;
-  unw_dyn_info_t *di;
-
-  di = get_unwind_info (ui, as, ip);
-  if (!di)
-    return -UNW_ENOINFO;
-
-#if UNW_TARGET_IA64
-  if (di == &ui->ktab)
-    {
-      /* The kernel unwind table resides in local memory, so we have
-	 to use the local address space to search it.  Since
-	 _UPT_put_unwind_info() has no easy way of detecting this
-	 case, we simply make a copy of the unwind-info, so
-	 _UPT_put_unwind_info() can always free() the unwind-info
-	 without ill effects.  */
-      int ret = tdep_search_unwind_table (unw_local_addr_space, ip, di, pi,
-					  need_unwind_info, arg);
-      if (ret >= 0 && need_unwind_info)
-	{
-	  void *mem = malloc (pi->unwind_info_size);
-
-	  if (!mem)
-	    return -UNW_ENOMEM;
-	  memcpy (mem, pi->unwind_info, pi->unwind_info_size);
-	  pi->unwind_info = mem;
-	}
-      return ret;
-    }
-  else
-#endif
-  return tdep_search_unwind_table (as, ip, di, pi, need_unwind_info, arg);
-}
diff --git a/src/_UPT_get_dyn_info_list_addr.c b/src/_UPT_get_dyn_info_list_addr.c
deleted file mode 100644
index fdca8fc..0000000
--- a/src/_UPT_get_dyn_info_list_addr.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* libunwind - a platform-independent unwind library
-   Copyright (C) 2003 Hewlett-Packard Co
-	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
-This file is part of libunwind.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include "_UPT_internal.h"
-
-#ifdef UNW_TARGET_IA64
-# include "elf64.h"
-# include "os-linux.h"
-#endif
-
-int
-_UPT_get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dil_addr,
-			     void *arg)
-{
-#if UNW_TARGET_IA64
-  unsigned long lo, hi, off;
-  struct UPT_info *ui = arg;
-  struct map_iterator mi;
-  char path[PATH_MAX];
-  unw_dyn_info_t *di;
-  unw_word_t res;
-#endif
-  int count = 0;
-
-  debug (100, "%s: looking for dyn_info list\n", __FUNCTION__);
-
-#if UNW_TARGET_IA64
-  maps_init (&mi, ui->pid);
-  while (maps_next (&mi, &lo, &hi, &off, path))
-    {
-      if (off)
-	continue;
-
-      if (ui->ei.image)
-	{
-	  munmap (ui->ei.image, ui->ei.size);
-	  /* invalidate the cache: */
-	  ui->di_cache.start_ip = ui->di_cache.end_ip = 0;
-	}
-
-      if (elf_map_image (&ui->ei, path) < 0)
-	return -UNW_ENOINFO;
-
-      debug (100, "%s: checking object %s\n", __FUNCTION__, path);
-
-      di = _UPTi_find_unwind_table (ui, as, path, lo, off);
-      if (di)
-	{
-	  res = _Uia64_find_dyn_list (as, di, arg);
-	  if (res && count++ == 0)
-	    {
-	      debug (100, "%s: dyn_info_list_addr = 0x%lx\n",
-		     __FUNCTION__, (long) res);
-	      *dil_addr = res;
-	    }
-	}
-    }
-  maps_close (&mi);
-#else
-# warning Implement me, please.
-#endif
-
-  /* If multiple dynamic-info list addresses are found, we would have
-     to determine which was is the one actually in use (since the
-     dynamic name resolution algorithm will pick one "winner").
-     Perhaps we'd have to track them all until we find one that's
-     non-empty.  Hopefully, this case simply will never arise, since
-     only libunwind defines the dynamic info list head. */
-  assert (count <= 1);
-
-  return (count > 0) ? 0 : -UNW_ENOINFO;
-}
diff --git a/src/_Unwind_RaiseException.c b/src/_Unwind_RaiseException.c
deleted file mode 100644
index f13ce3b..0000000
--- a/src/_Unwind_RaiseException.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/* libunwind - a platform-independent unwind library
-   Copyright (C) 2003 Hewlett-Packard Co
-	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-
-This file is part of libunwind.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include "unwind-internal.h"
-
-PROTECTED _Unwind_Reason_Code
-_Unwind_RaiseException (struct _Unwind_Exception *exception_object)
-{
-  unsigned long exception_class = exception_object->exception_class;
-  _Unwind_Personality_Fn personality;
-  struct _Unwind_Context context;
-  _Unwind_Reason_Code reason;
-  unw_proc_info_t pi;
-  unw_context_t uc;
-  unw_word_t ip;
-  int ret;
-
-  debug (1, "%s(exception_object=%p)\n", __FUNCTION__, exception_object);
-
-  if (_Unwind_InitContext (&context, &uc) < 0)
-    return _URC_FATAL_PHASE1_ERROR;
-
-  /* Phase 1 (search phase) */
-
-  while (1)
-    {
-      if ((ret = unw_step (&context.cursor)) <= 0)
-	{
-	  if (ret == 0)
-	    {
-	      debug (1, "%s: no handler found\n", __FUNCTION__);
-	      return _URC_END_OF_STACK;
-	    }
-	  else
-	    return _URC_FATAL_PHASE1_ERROR;
-	}
-
-      if (unw_get_proc_info (&context.cursor, &pi) < 0)
-	return _URC_FATAL_PHASE1_ERROR;
-
-      personality = (_Unwind_Personality_Fn) pi.handler;
-      if (personality)
-	{
-	  reason = (*personality) (_U_VERSION, _UA_SEARCH_PHASE,
-				   exception_class, exception_object,
-				   &context);
-	  if (reason != _URC_CONTINUE_UNWIND)
-	    {
-	      if (reason == _URC_HANDLER_FOUND)
-		break;
-	      else
-		{
-		  debug (1, "%s: personality returned %d\n",
-			 __FUNCTION__, reason);
-		  return _URC_FATAL_PHASE1_ERROR;
-		}
-	    }
-	}
-    }
-
-  /* Exceptions are associated with IP-ranges.  If a given exception
-     is handled at a particular IP, it will _always_ be handled at
-     that IP.  If this weren't true, we'd have to track the tuple
-     (IP,SP,BSP) to uniquely identify the stack frame that's handling
-     the exception.  */
-  if (unw_get_reg (&context.cursor, UNW_REG_IP, &ip) < 0)
-    return _URC_FATAL_PHASE1_ERROR;
-  exception_object->private_1 = 0;	/* clear "stop" pointer */
-  exception_object->private_2 = ip;	/* save frame marker */
-
-  debug (1, "%s: found handler for IP=%lx; entering cleanup phase\n",
-	 __FUNCTION__, ip);
-
-  /* Reset the cursor to the first frame: */
-  if (unw_init_local (&context.cursor, &uc) < 0)
-    return _URC_FATAL_PHASE1_ERROR;
-
-  return _Unwind_Phase2 (exception_object, &context);
-}
diff --git a/src/ia64/Gdestroy_addr_space-ia64.c b/src/ia64/Gdestroy_addr_space-ia64.c
deleted file mode 100644
index ca90b59..0000000
--- a/src/ia64/Gdestroy_addr_space-ia64.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* 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.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include <stdlib.h>
-
-#include "unwind_i.h"
-
-PROTECTED void
-unw_destroy_addr_space (unw_addr_space_t as)
-{
-#ifndef UNW_LOCAL_ONLY
-# if UNW_DEBUG
-  memset (as, 0, sizeof (*as));
-# endif
-  free (as);
-#endif
-}
diff --git a/src/ia64/Gget_accessors-ia64.c b/src/ia64/Gget_accessors-ia64.c
deleted file mode 100644
index e69de29..0000000
--- a/src/ia64/Gget_accessors-ia64.c
+++ /dev/null
diff --git a/src/ia64/Gset_caching_policy-ia64.c b/src/ia64/Gset_caching_policy-ia64.c
deleted file mode 100644
index e69de29..0000000
--- a/src/ia64/Gset_caching_policy-ia64.c
+++ /dev/null
diff --git a/src/x86/Gget_reg-x86.c b/src/x86/Gget_reg-x86.c
deleted file mode 100644
index 57bf3f1..0000000
--- a/src/x86/Gget_reg-x86.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* 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.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include "unwind_i.h"
-
-PROTECTED int
-unw_get_reg (unw_cursor_t *cursor, int regnum, unw_word_t *valp)
-{
-  struct cursor *c = (struct cursor *) cursor;
-
-  return x86_access_reg (c, regnum, valp, 0);
-}
diff --git a/src/x86/Gset_reg-x86.c b/src/x86/Gset_reg-x86.c
deleted file mode 100644
index 18beff2..0000000
--- a/src/x86/Gset_reg-x86.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* 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.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#include "unwind_i.h"
-
-PROTECTED int
-unw_set_reg (unw_cursor_t *cursor, int regnum, unw_word_t valp)
-{
-  struct cursor *c = (struct cursor *) cursor;
-
-  return x86_access_reg (c, regnum, &valp, 1);
-}