diff options
Diffstat (limited to 'bfd/libbfd-in.h')
-rw-r--r-- | bfd/libbfd-in.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index 20bf85c..00650c3 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h @@ -116,12 +116,6 @@ extern void *bfd_realloc_or_free (void *, bfd_size_type) ATTRIBUTE_HIDDEN; extern void *bfd_zmalloc (bfd_size_type) ATTRIBUTE_HIDDEN; -extern void *bfd_malloc2 - (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; -extern void *bfd_realloc2 - (void *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; -extern void *bfd_zmalloc2 - (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; static inline char * bfd_strdup (const char *str) @@ -134,10 +128,6 @@ bfd_strdup (const char *str) } /* These routines allocate and free things on the BFD's objalloc. */ -extern void *bfd_alloc2 - (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; -extern void *bfd_zalloc2 - (bfd *, bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; extern void bfd_release (bfd *, void *) ATTRIBUTE_HIDDEN; @@ -905,3 +895,11 @@ extern bfd_signed_vma _bfd_read_signed_leb128 extern bfd_vma _bfd_safe_read_leb128 (bfd *, bfd_byte *, unsigned int *, bfd_boolean, const bfd_byte * const) ATTRIBUTE_HIDDEN; + +#if GCC_VERSION >= 7000 +#define _bfd_mul_overflow(a, b, res) __builtin_mul_overflow (a, b, res) +#else +/* Assumes unsigned values. Careful! Args evaluated multiple times. */ +#define _bfd_mul_overflow(a, b, res) \ + ((*res) = (a), (*res) *= (b), (b) != 0 && (*res) / (b) != (a)) +#endif |