[RFC PATCH 1/4] [BFD][LD] Fix linker error when using NT weak externals

Alan Modra amodra@gmail.com
Fri Oct 23 06:36:00 GMT 2015


On Thu, Oct 22, 2015 at 07:10:17PM +0300, Octavian Purdila wrote:
> --- a/bfd/linker.c
> +++ b/bfd/linker.c
> @@ -1354,8 +1354,8 @@ enum link_action
>  static const enum link_action link_action[8][8] =
>  {
>    /* current\prev    new    undef  undefw def    defw   com    indr   warn  */
> -  /* UNDEF_ROW 	*/  {UND,   NOACT, UND,   REF,   REF,   NOACT, REFC,  WARNC },
> -  /* UNDEFW_ROW	*/  {WEAK,  NOACT, NOACT, REF,   REF,   NOACT, REFC,  WARNC },
> +  /* UNDEF_ROW 	*/  {UND,   NOACT, NOACT,   REF,   REF,   NOACT, REFC,  WARNC },
> +  /* UNDEFW_ROW	*/  {WEAK,  WEAK, NOACT, REF,   REF,   NOACT, REFC,  WARNC },

This change doesn't make sense at all.  Strong undefined wins over
weak undefined, not the other way around as you would seem to like.

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list