From eb73481fd08c815ee933c53922efa78190e5b7ae Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 11 Nov 2005 11:06:31 +0000 Subject: [PATCH] PR 1150 * readelf.c (get_mips_symbol_other): New function. (get_symbol_other): New function. (process_symbol_table): Call get_symbol_other() to get a description of the st_other field if it contains more information than just the visibility. * elfxx-mips.c (mips_elf_calculate_relocation): Ignore an undefined symbol if it is optional. (_bfd_mips_elf_merge_symbol_attribute): Make sure that the optional flag is merged as well as the visibility. * elfxx-mips.h (_bfd_mips_elf_merge_symbol_attribute): Prototype. (elf_backend_merge_symbol_attribute): Define. * mips.h (STO_OPTIONAL): Define. (ELF_MIPS_IS_OPTIONAL): Define. --- include/elf/ChangeLog | 6 ++++++ include/elf/mips.h | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 485a78e32..af4947c7e 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,9 @@ +2005-11-11 Nick Clifton + + PR 1150 + * mips.h (STO_OPTIONAL): Define. + (ELF_MIPS_IS_OPTIONAL): Define. + 2005-09-30 Catherine Moore * bfin.h: New file. diff --git a/include/elf/mips.h b/include/elf/mips.h index 540815bfe..6afc12ffe 100644 --- a/include/elf/mips.h +++ b/include/elf/mips.h @@ -718,6 +718,13 @@ extern void bfd_mips_elf32_swap_reginfo_out /* This value is used for a mips16 .text symbol. */ #define STO_MIPS16 0xf0 + +/* This bit is used on Irix to indicate a symbol whose definition + is optional - if, at final link time, it cannot be found, no + error message should be produced. */ +#define STO_OPTIONAL (1 << 2) +/* A macro to examine the STO_OPTIONAL bit. */ +#define ELF_MIPS_IS_OPTIONAL(other) ((other) & STO_OPTIONAL) /* The 64-bit MIPS ELF ABI uses an unusual reloc format. Each relocation entry specifies up to three actual relocations, all at