[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] 'make check' failure armv7hl e9e50d0
From: |
Philippe De Muyter |
Subject: |
Re: [Libunwind-devel] 'make check' failure armv7hl e9e50d0 |
Date: |
Fri, 25 Aug 2017 09:54:06 +0200 |
User-agent: |
Mutt/1.5.16 (2007-06-09) |
Hi Dave,
On Thu, Aug 24, 2017 at 09:36:12AM -0700, Dave Watson wrote:
> On 08/23/17 11:30 AM, Philippe De Muyter wrote:
> > Hi,
> >
> > I cloned libunwind yesterday (hash e9e50d0) and built it on my armv7hl
> > board with suse linux 13.1.
> >
> > Unfortunately, 'make check' fails with :
> >
> > /home/phdm/libunwind/src/.libs/libunwind.a(Lex_tables.o): In function
> > `arm_search_unwind_table':
> > /home/phdm/libunwind/src/arm/Gex_tables.c:388: multiple definition of
> > `arm_search_unwind_table'
> > ../src/.libs/libunwind-arm.a(Gex_tables.o):/home/phdm/libunwind/src/arm/Gex_tables.c:388:
> > first defined here
> > collect2: error: ld returned 1 exit status
>
> One of these two should work, not sure which:
>
> diff --git a/src/arm/Gex_tables.c b/src/arm/Gex_tables.c
> index 3f6b5cf..88c36a3 100644
> --- a/src/arm/Gex_tables.c
> +++ b/src/arm/Gex_tables.c
> @@ -381,7 +381,7 @@ arm_exidx_extract (struct dwarf_cursor *c, uint8_t *buf)
> return nbuf;
> }
>
> -PROTECTED int
> +static int
> arm_search_unwind_table (unw_addr_space_t as, unw_word_t ip,
> unw_dyn_info_t *di, unw_proc_info_t *pi,
> int need_unwind_info, void *arg)
>
>
> or maybe
>
> diff --git a/include/tdep-arm/ex_tables.h b/include/tdep-arm/ex_tables.h
> index 9df5e0a..0b5388a 100644
> --- a/include/tdep-arm/ex_tables.h
> +++ b/include/tdep-arm/ex_tables.h
> @@ -47,6 +47,7 @@ struct arm_exbuf_data
> #define arm_exidx_extract UNW_OBJ(arm_exidx_extract)
> #define arm_exidx_decode UNW_OBJ(arm_exidx_decode)
> #define arm_exidx_apply_cmd UNW_OBJ(arm_exidx_apply_cmd)
> +#define arm_search_unwind_table UNW_OBJ(arm_search_unwind_table)
>
> int arm_exidx_extract (struct dwarf_cursor *c, uint8_t *buf);
> int arm_exidx_decode (const uint8_t *buf, uint8_t len, struct dwarf_cursor
> *c);
Both patches solve the link error, but the check results are not good :(
The first patch gives slightly better results (19 FAIL's instead of 20)
I have attached both logs
Philippe
test-suite.log-patch-static
Description: Text document
test-suite.log-patch-UNW_OBJ
Description: Text document