This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Commit: Fix building elf32-msp430.c on 32-bit hosts


On Tue, 11 Feb 2020 12:38:49 +0000
Nick Clifton <nickc@redhat.com> wrote:

> Hi Guys,
> 
>   I am applying the patch below to fix building the elf32-msp430.c file
>   on 32-bit hosts where addresses are ints rather than longs...
> 
> Cheers
>   Nick

Whoops, thanks for fixing that.

Jozef
> 
> bfd/ChangeLog
> 2020-02-11  Nick Clifton  <nickc@redhat.com>
> 
> 	* elf32-msp430.c (msp430_final_link_relocate): Always use longs
> 	for addresses in print statements.
> 	(msp430_elf_relax_delete_bytes): Likewise.
> 	(msp430_elf_relax_add_words): Likewise.
> 	(msp430_elf_relax_section): Likewise.
> 
> diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c
> index 4d68d40f67..784c32ed02 100644
> --- a/bfd/elf32-msp430.c
> +++ b/bfd/elf32-msp430.c
> @@ -746,8 +746,8 @@ msp430_final_link_relocate (reloc_howto_type *	   howto,
>  
>    if (debug_relocs)
>      printf ("writing relocation (%p) at 0x%lx type: %d\n", rel,
> -	    input_section->output_section->vma + input_section->output_offset
> -	    + rel->r_offset, howto->type);
> +	    (long) (input_section->output_section->vma + input_section->output_offset
> +		    + rel->r_offset), howto->type);
>    if (sym_diff_section != NULL)
>      {
>        BFD_ASSERT (sym_diff_section == input_section);
> @@ -1671,7 +1671,7 @@ msp430_elf_relax_delete_bytes (bfd * abfd, asection * sec, bfd_vma addr,
>    toaddr = sec->size;
>    if (debug_relocs)
>      printf ("      deleting %d bytes between 0x%lx to 0x%lx\n",
> -	    count, addr, toaddr);
> +	    count, (long) addr, (long) toaddr);
>  
>    irel = elf_section_data (sec)->relocs;
>    irelend = irel + sec->reloc_count;
> @@ -1721,13 +1721,13 @@ msp430_elf_relax_delete_bytes (bfd * abfd, asection * sec, bfd_vma addr,
>  	{
>  	  if (debug_relocs)
>  	    printf ("      adjusting value of local symbol %s from 0x%lx ",
> -		    name, isym->st_value);
> +		    name, (long) isym->st_value);
>  	  if (isym->st_value < addr + count)
>  	    isym->st_value = addr;
>  	  else
>  	    isym->st_value -= count;
>  	  if (debug_relocs)
> -	    printf ("to 0x%lx\n", isym->st_value);
> +	    printf ("to 0x%lx\n", (long) isym->st_value);
>  	}
>        /* Adjust the function symbol's size as well.  */
>        else if (ELF_ST_TYPE (isym->st_info) == STT_FUNC
> @@ -1788,7 +1788,7 @@ msp430_elf_relax_add_words (bfd * abfd, asection * sec, bfd_vma addr,
>    asection *p;
>    if (debug_relocs)
>      printf ("      adding %d words at 0x%lx\n", num_words,
> -	    sec->output_section->vma + sec->output_offset + addr);
> +	    (long) (sec->output_section->vma + sec->output_offset + addr));
>  
>    contents = elf_section_data (sec)->this_hdr.contents;
>    sec_end = sec->size;
> @@ -1832,7 +1832,7 @@ msp430_elf_relax_add_words (bfd * abfd, asection * sec, bfd_vma addr,
>  	  printf ("      adjusting value of local symbol %s from 0x%lx to "
>  		  "0x%lx\n", bfd_elf_string_from_elf_section
>  		  (abfd, symtab_hdr->sh_link, isym->st_name),
> -		  isym->st_value, isym->st_value + num_bytes);
> +		  (long) isym->st_value, (long)(isym->st_value + num_bytes));
>  	isym->st_value += num_bytes;
>        }
>  
> @@ -1881,7 +1881,7 @@ msp430_elf_relax_section (bfd * abfd, asection * sec,
>  
>    if (debug_relocs)
>      printf ("Relaxing %s (%p), output_offset: 0x%lx sec size: 0x%lx\n",
> -	    sec->name, sec, sec->output_offset, sec->size);
> +	    sec->name, sec, (long) sec->output_offset, (long) sec->size);
>  
>    symtab_hdr = & elf_tdata (abfd)->symtab_hdr;
>  
> @@ -1955,11 +1955,12 @@ msp430_elf_relax_section (bfd * abfd, asection * sec,
>  
>  	  if (debug_relocs)
>  	    printf ("    processing reloc at 0x%lx for local sym: %s "
> -		    "st_value: 0x%lx adj value: 0x%lx\n", sec->output_offset
> -		    + sec->output_section->vma + irel->r_offset,
> +		    "st_value: 0x%lx adj value: 0x%lx\n",
> +		    (long) (sec->output_offset + sec->output_section->vma
> +			    + irel->r_offset),
>  		    bfd_elf_string_from_elf_section (abfd, symtab_hdr->sh_link,
>  						     isym->st_name),
> -		    isym->st_value, symval);
> +		    (long) isym->st_value, (long) symval);
>  	}
>        else
>  	{
> @@ -1983,9 +1984,11 @@ msp430_elf_relax_section (bfd * abfd, asection * sec,
>  		    + h->root.u.def.section->output_offset);
>  	  if (debug_relocs)
>  	    printf ("    processing reloc at 0x%lx for global sym: %s "
> -		    "st_value: 0x%lx adj value: 0x%lx\n", sec->output_offset
> -		    + sec->output_section->vma + irel->r_offset,
> -		    h->root.root.string, h->root.u.def.value, symval);
> +		    "st_value: 0x%lx adj value: 0x%lx\n",
> +		    (long) (sec->output_offset + sec->output_section->vma
> +		    + irel->r_offset),
> +	      h->root.root.string, (long) h->root.u.def.value,
> +	      (long) symval);
>  	}
>  
>        /* For simplicity of coding, we are going to modify the section
> @@ -2176,11 +2179,12 @@ msp430_elf_relax_section (bfd * abfd, asection * sec,
>  
>  	    if (debug_relocs)
>  	      printf ("    processing reloc at 0x%lx for local sym: %s "
> -		      "st_value: 0x%lx adj value: 0x%lx\n", sec->output_offset
> -		      + sec->output_section->vma + irel->r_offset,
> +		      "st_value: 0x%lx adj value: 0x%lx\n",
> +		      (long) (sec->output_offset + sec->output_section->vma
> +			      + irel->r_offset),
>  		      bfd_elf_string_from_elf_section
>  		      (abfd, symtab_hdr->sh_link, isym->st_name),
> -		      isym->st_value, symval);
> +		      (long) isym->st_value, (long) symval);
>  	  }
>  	else
>  	  {
> @@ -2204,9 +2208,11 @@ msp430_elf_relax_section (bfd * abfd, asection * sec,
>  		      + h->root.u.def.section->output_offset);
>  	    if (debug_relocs)
>  	      printf ("    processing reloc at 0x%lx for global sym: %s "
> -		      "st_value: 0x%lx adj value: 0x%lx\n", sec->output_offset
> -		      + sec->output_section->vma + irel->r_offset,
> -		      h->root.root.string, h->root.u.def.value, symval);
> +		      "st_value: 0x%lx adj value: 0x%lx\n", (long)
> +		      (sec->output_offset + sec->output_section->vma
> +		       + irel->r_offset),
> +		      h->root.root.string, (long) h->root.u.def.value,
> +		      (long) symval);
>  	  }
>  
>  	/* For simplicity of coding, we are going to modify the section
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]