summaryrefslogtreecommitdiff
path: root/src/Makefile.in
diff options
context:
space:
mode:
authorDavid Mosberger-Tang <davidm@panda.mostang.com>2007-08-22 13:02:09 -0600
committerDavid Mosberger-Tang <davidm@panda.mostang.com>2007-08-22 13:02:09 -0600
commite6b9f350f78ecd9ef3b8a3e721f9435c94fc2562 (patch)
tree1e90fcdf7c0049f85d26f91f0d714e38c77b5bfc /src/Makefile.in
parent03e05b41386fd5797cb8cd62eff7f0ba77c4e07e (diff)
downloadlibunwind-e6b9f350f78ecd9ef3b8a3e721f9435c94fc2562.tar.gz
Introduce a tdep_get_func_addr_hook() in the ELF lookup_symbol()
routine and add address-space argument. This is needed because on PPC64, a the function-name symbol refers to a function descriptor (unlike, for example, on ia64, where the @fptr() operator is needed to refer to a function descriptor). Thus, in order to look up the name of a function, we need to dereference the function descriptor. To make matters more "interesting", the function descriptors are normally resolved by the dynamic linker, so we can't get their values from the ELF file. Instead, we have to read them from the running image, hence the need for the address-space argument.
Diffstat (limited to 'src/Makefile.in')
-rw-r--r--src/Makefile.in16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index e731cb2e..50047bc3 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -155,7 +155,7 @@ am__libunwind_ppc64_la_SOURCES_DIST = os-hpux.c os-linux.h os-linux.c \
mi/init.c mi/flush_cache.c mi/mempool.c mi/strerror.c \
dwarf/global.c elf64.c elf64.h ppc64/init.h ppc64/unwind_i.h \
ppc64/ucontext_i.h ppc64/is_fpreg.c ppc64/regname.c \
- mi/Gdyn-extract.c mi/Gdyn-remote.c \
+ ppc64/get_func_addr.c mi/Gdyn-extract.c mi/Gdyn-remote.c \
mi/Gfind_dynamic_proc_info.c mi/Gget_accessors.c \
mi/Gget_proc_info_by_ip.c mi/Gget_proc_name.c \
mi/Gput_dynamic_unwind_info.c mi/Gdestroy_addr_space.c \
@@ -168,7 +168,7 @@ am__libunwind_ppc64_la_SOURCES_DIST = os-hpux.c os-linux.h os-linux.c \
ppc64/Gis_signal_frame.c ppc64/Gregs.c ppc64/Gresume.c \
ppc64/Gstep.c
am__objects_12 = $(am__objects_4) $(am__objects_5) elf64.lo \
- ppc64/is_fpreg.lo ppc64/regname.lo
+ ppc64/is_fpreg.lo ppc64/regname.lo ppc64/get_func_addr.lo
am__objects_13 = $(am__objects_12) $(am__objects_7) $(am__objects_8) \
dwarf/Gfind_proc_info-lsb.lo ppc64/Gcreate_addr_space.lo \
ppc64/Gget_proc_info.lo ppc64/Gget_save_loc.lo \
@@ -268,8 +268,9 @@ am__libunwind_la_SOURCES_DIST = os-hpux.c os-linux.h os-linux.c \
mi/init.c mi/flush_cache.c mi/mempool.c mi/strerror.c \
dwarf/global.c elf64.c elf64.h ppc64/init.h ppc64/unwind_i.h \
ppc64/ucontext_i.h ppc64/is_fpreg.c ppc64/regname.c \
- mi/_ReadULEB.c mi/_ReadSLEB.c mi/backtrace.c mi/dyn-cancel.c \
- mi/dyn-info-list.c mi/dyn-register.c mi/Ldyn-extract.c \
+ ppc64/get_func_addr.c mi/_ReadULEB.c mi/_ReadSLEB.c \
+ mi/backtrace.c mi/dyn-cancel.c mi/dyn-info-list.c \
+ mi/dyn-register.c mi/Ldyn-extract.c \
mi/Lfind_dynamic_proc_info.c mi/Lget_accessors.c \
mi/Lget_proc_info_by_ip.c mi/Lget_proc_name.c \
mi/Lput_dynamic_unwind_info.c mi/Ldestroy_addr_space.c \
@@ -777,7 +778,7 @@ libunwind_la_SOURCES_ppc64_common = $(libunwind_la_SOURCES_common) \
$(dwarf_SOURCES_common) \
elf64.c elf64.h \
ppc64/init.h ppc64/unwind_i.h ppc64/ucontext_i.h \
- ppc64/is_fpreg.c ppc64/regname.c
+ ppc64/is_fpreg.c ppc64/regname.c ppc64/get_func_addr.c
# The list of files that go into libunwind:
@@ -1122,6 +1123,8 @@ ppc64/is_fpreg.lo: ppc64/$(am__dirstamp) \
ppc64/$(DEPDIR)/$(am__dirstamp)
ppc64/regname.lo: ppc64/$(am__dirstamp) \
ppc64/$(DEPDIR)/$(am__dirstamp)
+ppc64/get_func_addr.lo: ppc64/$(am__dirstamp) \
+ ppc64/$(DEPDIR)/$(am__dirstamp)
ppc64/Gcreate_addr_space.lo: ppc64/$(am__dirstamp) \
ppc64/$(DEPDIR)/$(am__dirstamp)
ppc64/Gget_proc_info.lo: ppc64/$(am__dirstamp) \
@@ -1690,6 +1693,8 @@ mostlyclean-compile:
-rm -f ppc64/Lresume.lo
-rm -f ppc64/Lstep.$(OBJEXT)
-rm -f ppc64/Lstep.lo
+ -rm -f ppc64/get_func_addr.$(OBJEXT)
+ -rm -f ppc64/get_func_addr.lo
-rm -f ppc64/is_fpreg.$(OBJEXT)
-rm -f ppc64/is_fpreg.lo
-rm -f ppc64/longjmp.$(OBJEXT)
@@ -1986,6 +1991,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@ppc64/$(DEPDIR)/Lregs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@ppc64/$(DEPDIR)/Lresume.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@ppc64/$(DEPDIR)/Lstep.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ppc64/$(DEPDIR)/get_func_addr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@ppc64/$(DEPDIR)/is_fpreg.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@ppc64/$(DEPDIR)/regname.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@ptrace/$(DEPDIR)/_UPT_access_fpreg.Po@am__quote@