libunwind-devel
[Top][All Lists]
Advanced

[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

Attachment: test-suite.log-patch-static
Description: Text document

Attachment: test-suite.log-patch-UNW_OBJ
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]