+Mon Mar 6 23:31:36 1995 Doug Evans <dje@chestnut.cygnus.com>
+
+ * elfcode.h (elf_sort_hdrs): Keep SHT_NOBITS sections after
+ !SHT_NOBITS ones.
+
Mon Mar 6 09:53:08 1995 Jeff Law (law@snake.cs.utah.edu)
* cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1
/* Check that the ELF e_machine field matches what this particular
BFD format expects. */
- if (ebd->elf_machine_code != i_ehdrp->e_machine)
+ if (ebd->elf_machine_code != i_ehdrp->e_machine
+ && (ebd->elf_machine_alt1 == 0 || i_ehdrp->e_machine != ebd->elf_machine_alt1)
+ && (ebd->elf_machine_alt2 == 0 || i_ehdrp->e_machine != ebd->elf_machine_alt2))
{
const bfd_target * const *target_ptr;
return -1;
else if (hdr1->sh_addr > hdr2->sh_addr)
return 1;
+ if (hdr1->sh_size == 0)
+ {
+ if (hdr2->sh_size == 0)
+ {
+ /* Put !SHT_NOBITS sections before SHT_NOBITS ones.
+ The main loop in map_program_segments requires this. */
+ return (hdr1->sh_type == SHT_NOBITS) - (hdr2->sh_type == SHT_NOBITS);
+ }
+ else
+ return -1;
+ }
+ else if (hdr2->sh_size == 0)
+ return 1;
/* Put !SHT_NOBITS sections before SHT_NOBITS ones.
- The main loop in map_program_segments assumes this. */
+ The main loop in map_program_segments requires this. */
return (hdr1->sh_type == SHT_NOBITS) - (hdr2->sh_type == SHT_NOBITS);
}
else
/* Check that the ELF e_machine field matches what this particular
BFD format expects. */
- if (ebd->elf_machine_code != i_ehdrp->e_machine)
+ if (ebd->elf_machine_code != i_ehdrp->e_machine
+ && (ebd->elf_machine_alt1 == 0 || i_ehdrp->e_machine != ebd->elf_machine_alt1)
+ && (ebd->elf_machine_alt2 == 0 || i_ehdrp->e_machine != ebd->elf_machine_alt2))
{
const bfd_target * const *target_ptr;