diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-ppc.c | 24 |
2 files changed, 11 insertions, 19 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 66953c0..d8ae120 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com> + + * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if + the embedded bit is set on some objects and not on others. Just + or it together. + Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com> * coffcode.h (coff_set_section_contents): Fix the handling of the diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index a7be7a1..9750442 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -1134,26 +1134,12 @@ ppc_elf_merge_private_bfd_data (ibfd, obfd) else if ((new_flags & EF_PPC_RELOCATABLE_LIB) != 0) elf_elfheader (obfd)->e_flags |= EF_PPC_RELOCATABLE_LIB; - new_flags &= ~ (EF_PPC_RELOCATABLE | EF_PPC_RELOCATABLE_LIB); - old_flags &= ~ (EF_PPC_RELOCATABLE | EF_PPC_RELOCATABLE_LIB); - /* Warn about eabi vs. V.4 mismatch */ - if ((new_flags & EF_PPC_EMB) != 0 && (old_flags & EF_PPC_EMB) == 0) - { - new_flags &= ~EF_PPC_EMB; - error = true; - (*_bfd_error_handler) - ("%s: compiled for the eabi and linked with modules compiled for System V", - bfd_get_filename (ibfd)); - } - else if ((new_flags & EF_PPC_EMB) == 0 && (old_flags & EF_PPC_EMB) != 0) - { - old_flags &= ~EF_PPC_EMB; - error = true; - (*_bfd_error_handler) - ("%s: compiled for System V and linked with modules compiled for eabi", - bfd_get_filename (ibfd)); - } + /* Do not warn about eabi vs. V.4 mismatch, just or in the bit if any module uses it */ + elf_elfheader (obfd)->e_flags |= (new_flags & EF_PPC_EMB); + + new_flags &= ~ (EF_PPC_RELOCATABLE | EF_PPC_RELOCATABLE_LIB | EF_PPC_EMB); + old_flags &= ~ (EF_PPC_RELOCATABLE | EF_PPC_RELOCATABLE_LIB | EF_PPC_EMB); /* Warn about any other mismatches */ if (new_flags != old_flags) |