From 00178b98eb609827f8e799931f55288ab2f58ee1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 16 Nov 2016 07:01:56 +0000 Subject: [PATCH] re PR libgcc/68468 (frv/bfin FDPIC toolchain build error) PR libgcc/68468 * unwind-dw2-fde-dip.c: Fix build on FDPIC targets. From-SVN: r242468 --- libgcc/ChangeLog | 5 +++++ libgcc/unwind-dw2-fde-dip.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index cca3de50eb6..cfa61115f6a 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2016-11-16 Waldemar Brodkorb + + PR libgcc/68468 + * unwind-dw2-fde-dip.c: Fix build on FDPIC targets. + 2016-11-15 Claudiu Zissulescu * config/arc/lib1funcs.S (__mulsi3): Use feature defines instead diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c index f7a1c3fd1cf..801bce8fa3d 100644 --- a/libgcc/unwind-dw2-fde-dip.c +++ b/libgcc/unwind-dw2-fde-dip.c @@ -124,7 +124,11 @@ static struct frame_hdr_cache_element { _Unwind_Ptr pc_low; _Unwind_Ptr pc_high; +#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ + struct elf32_fdpic_loadaddr load_base; +#else _Unwind_Ptr load_base; +#endif const ElfW(Phdr) *p_eh_frame_hdr; const ElfW(Phdr) *p_dynamic; struct frame_hdr_cache_element *link; @@ -163,7 +167,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr; const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic; long n, match; -#ifdef __FRV_FDPIC__ +#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ struct elf32_fdpic_loadaddr load_base; #else _Unwind_Ptr load_base; @@ -347,7 +351,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) break; } } -# elif defined __FRV_FDPIC__ && defined __linux__ +# elif (defined __FRV_FDPIC__ || defined __BFIN_FDPIC__) && defined __linux__ data->dbase = load_base.got_value; # else # error What is DW_EH_PE_datarel base on this platform? -- 2.30.2