+2000-04-11 Alan Modra <alan@linuxcare.com.au>
+
+ * coff-mips.c (mips_gprel_reloc): Test for 16 bit range using
+ signed quantites.
+ * elf32-mips.c (gprel16_with_gp): Likewise.
+ * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Test range
+ here using -0x40000, not (int)0xfffc0000.
+ (elf32_hppa_size_of_stub): Likewise.
+
2000-04-11 Timothy Wall <twall@cygnus.com>
* coff-tic54x.c: Now builds with all targets.
1998-02-23 15:53 Richard Henderson <rth@cygnus.com>
* elf32-i386.c (elf_i386_relocate_section): A pc-relative
- relocation against a now-local symbol should not have a dynamic
+ relocation against a non-local symbol should not have a dynamic
relocation.
Mon Feb 23 16:17:08 1998 Ian Lance Taylor <ian@cygnus.com>
/* BFD back-end for MIPS Extended-Coff files.
- Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 1999
+ Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
Original version by Per Bothner.
Full support added by Ian Lance Taylor, ian@cygnus.com.
reloc_entry->address += input_section->output_offset;
/* Make sure it fit in 16 bits. */
- if (val >= 0x8000 && val < 0xffff8000)
+ if ((long) val >= 0x8000 || (long) val < -0x8000)
return bfd_reloc_overflow;
return bfd_reloc_ok;
/* BFD back-end for HP PA-RISC ELF files.
- Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 98, 1999
+ Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
Written by
/* Any kind of linker stub needed? */
if (((int)(value - location) > 0x3ffff)
- || ((int)(value - location) < (int)0xfffc0000))
+ || ((int)(value - location) < -0x40000))
{
struct elf32_hppa_stub_hash_table *stub_hash_table;
struct elf32_hppa_stub_hash_entry *stub_hash;
{
/* Determine if a long branch stub is needed. */
if (!(((int)(location - destination) > 0x3ffff)
- || ((int)(location - destination) < (int)0xfffc0000)))
+ || ((int)(location - destination) < -0x40000)))
return 0;
if (!strncmp ("$$", sym_name, 2)
reloc_entry->address += input_section->output_offset;
/* Make sure it fit in 16 bits. */
- if (val >= 0x8000 && val < 0xffff8000)
+ if ((long) val >= 0x8000 || (long) val < -0x8000)
return bfd_reloc_overflow;
return bfd_reloc_ok;