[binutils-gdb] MIPS/BFD: Make `_bfd_mips_elf_sign_extend' static inline
Maciej W. Rozycki
macro@sourceware.org
Wed Mar 11 16:32:14 GMT 2026
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4df7dc0f207f32e30af79af2c5402aa31188addf
commit 4df7dc0f207f32e30af79af2c5402aa31188addf
Author: Maciej W. Rozycki <macro@orcam.me.uk>
Date: Wed Mar 11 16:30:29 2026 +0000
MIPS/BFD: Make `_bfd_mips_elf_sign_extend' static inline
Let the function be inlined from outside elfxx-mips.c as well, avoiding
the call overhead for a simple arithmetic calculation, though we have no
such user at the moment.
Diff:
---
bfd/elfxx-mips.c | 9 ---------
bfd/elfxx-mips.h | 11 +++++++++--
2 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 24a08436d05..0d3fcd28987 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -5234,15 +5234,6 @@ mips_elf_local_relocation_p (bfd *input_bfd,
return false;
}
-/* Sign-extend VALUE, which has the indicated number of BITS. */
-
-bfd_vma
-_bfd_mips_elf_sign_extend (bfd_vma value, int bits)
-{
- bfd_vma sign = (bfd_vma) 1 << (bits - 1);
- return (value ^ sign) - sign;
-}
-
/* Return non-zero if the indicated VALUE has overflowed the maximum
range expressible by a signed number with the indicated number of
BITS. */
diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h
index fedc21ed3d9..e39e0b15478 100644
--- a/bfd/elfxx-mips.h
+++ b/bfd/elfxx-mips.h
@@ -168,8 +168,6 @@ extern bfd_reloc_status_type _bfd_mips_elf_generic_reloc
ATTRIBUTE_HIDDEN;
extern unsigned long _bfd_elf_mips_mach
(flagword);
-extern bfd_vma _bfd_mips_elf_sign_extend
- (bfd_vma, int) ATTRIBUTE_HIDDEN;
extern void _bfd_mips_elf_merge_symbol_attribute
(struct elf_link_hash_entry *, unsigned int, bool, bool) ATTRIBUTE_HIDDEN;
extern char *_bfd_mips_elf_get_target_dtag
@@ -226,6 +224,15 @@ literal_reloc_p (int r_type)
return r_type == R_MIPS_LITERAL || r_type == R_MICROMIPS_LITERAL;
}
+/* Sign-extend VALUE, which has the indicated number of BITS. */
+
+static inline bfd_vma
+_bfd_mips_elf_sign_extend (bfd_vma value, int bits)
+{
+ bfd_vma sign = (bfd_vma) 1 << (bits - 1);
+ return (value ^ sign) - sign;
+}
+
#define elf_backend_common_definition _bfd_mips_elf_common_definition
#define elf_backend_name_local_section_symbols \
_bfd_mips_elf_name_local_section_symbols
More information about the Binutils-cvs
mailing list