aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2005-11-11 11:06:31 +0000
committerNick Clifton <nickc@redhat.com>2005-11-11 11:06:31 +0000
commiteb73481fd08c815ee933c53922efa78190e5b7ae (patch)
treeee7ed026a61840cf3272b16df8478a64d28fd5cd /include
parentb600843ae47042b2c13c37e022a5e51703691c0f (diff)
downloadnewlib-eb73481fd08c815ee933c53922efa78190e5b7ae.zip
newlib-eb73481fd08c815ee933c53922efa78190e5b7ae.tar.gz
newlib-eb73481fd08c815ee933c53922efa78190e5b7ae.tar.bz2
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.
Diffstat (limited to 'include')
-rw-r--r--include/elf/ChangeLog6
-rw-r--r--include/elf/mips.h7
2 files changed, 13 insertions, 0 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 485a78e..af4947c 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,9 @@
+2005-11-11 Nick Clifton <nickc@redhat.com>
+
+ PR 1150
+ * mips.h (STO_OPTIONAL): Define.
+ (ELF_MIPS_IS_OPTIONAL): Define.
+
2005-09-30 Catherine Moore <clm@cm00re.com>
* bfin.h: New file.
diff --git a/include/elf/mips.h b/include/elf/mips.h
index 540815b..6afc12f 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