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);
   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;
        {
          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
   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;
          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;
       }
 
 
   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;
 
 
          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
        {
                    + 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
 
            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
          {
                      + 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