[PATCH] Fix --eh-frame-hdr with DW_EH_PE_absptr in shared libs

Andreas Jaeger aj@suse.de
Wed Feb 20 03:17:00 GMT 2002


Jakub Jelinek <jakub@redhat.com> writes:

[...]
> --- bfd/elf64-x86-64.c.jj	Mon Dec 17 12:29:48 2001
> +++ bfd/elf64-x86-64.c	Fri Feb 15 17:13:21 2002
> @@ -1466,21 +1466,21 @@ elf64_x86_64_relocate_section (output_bf
>  		}
>  
>  	      skip = false;
> +	      relocate = false;
>  
>  	      outrel.r_offset =
>  		_bfd_elf_section_offset (output_bfd, info, input_section,
>  					 rela->r_offset);
>  	      if (outrel.r_offset == (bfd_vma) -1)
>  		skip = true;
> +	      else if (outrel.r_offset == (bfd_vma) -1)
> +		skip = true, relocate = true;

This is wrong.  You check twice for outrel.r_offset == -1, either of
these are wrong.  I expect you meant a -2 in the second if?

The same error is also in elf64-sh64.c.

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj



More information about the Binutils mailing list