From 7e4db2548b0addbad6ccc104885dd3adbbe9b0c9 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Mon, 19 Apr 1993 13:35:48 +0000 Subject: [PATCH] * libbfd.c: bfd_put*: Remove casts to bfd_vma. --- bfd/ChangeLog | 4 ++++ bfd/libbfd.c | 14 +++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3edb453b601..881a374b480 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +Mon Apr 19 06:09:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * libbfd.c: bfd_put*: Remove casts to bfd_vma. + Fri Apr 16 17:49:27 1993 Jim Kingdon (kingdon@cygnus.com) * aoutf1.h (internal_sunos_core): Make c_stacktop a bfd_vma. diff --git a/bfd/libbfd.c b/bfd/libbfd.c index aa5e6af4dac..61cdeef6929 100644 --- a/bfd/libbfd.c +++ b/bfd/libbfd.c @@ -405,6 +405,14 @@ DESCRIPTION around in macros--for example libaout.h defines GET_WORD to either bfd_get_32 or bfd_get_64. + In the put routines, val must be a bfd_vma. If we are on a + system without prototypes, the caller is responsible for making + sure that is true, with a cast if necessary. We don't cast + them in the macro definitions because that would prevent lint + or gcc -Wall from detecting sins such as passing a pointer. + To detect calling these with less than a bfd_vma, use gcc + -Wconversion on a host with 64 bit bfd_vma's. + .#define bfd_put_8(abfd, val, ptr) \ . (*((unsigned char *)ptr) = (unsigned char)val) .#define bfd_put_signed_8(abfd, val, ptr) (*((char *)(ptr)) = (char)(val)) @@ -412,21 +420,21 @@ DESCRIPTION . (*((unsigned char *)(ptr))) .#define bfd_get_signed_8(abfd, ptr) (((*(char *)(ptr) ^ 0x80) & 0xff) - 0x80) .#define bfd_put_16(abfd, val, ptr) \ -. BFD_SEND(abfd, bfd_putx16, ((bfd_vma)(val),(ptr))) +. BFD_SEND(abfd, bfd_putx16, ((val),(ptr))) .#define bfd_put_signed_16 bfd_put_16 .#define bfd_get_16(abfd, ptr) \ . BFD_SEND(abfd, bfd_getx16, (ptr)) .#define bfd_get_signed_16(abfd, ptr) \ . BFD_SEND (abfd, bfd_getx_signed_16, (ptr)) .#define bfd_put_32(abfd, val, ptr) \ -. BFD_SEND(abfd, bfd_putx32, ((bfd_vma)(val),(ptr))) +. BFD_SEND(abfd, bfd_putx32, ((val),(ptr))) .#define bfd_put_signed_32 bfd_put_32 .#define bfd_get_32(abfd, ptr) \ . BFD_SEND(abfd, bfd_getx32, (ptr)) .#define bfd_get_signed_32(abfd, ptr) \ . BFD_SEND(abfd, bfd_getx_signed_32, (ptr)) .#define bfd_put_64(abfd, val, ptr) \ -. BFD_SEND(abfd, bfd_putx64, ((bfd_vma)(val), (ptr))) +. BFD_SEND(abfd, bfd_putx64, ((val), (ptr))) .#define bfd_put_signed_64 bfd_put_64 .#define bfd_get_64(abfd, ptr) \ . BFD_SEND(abfd, bfd_getx64, (ptr)) -- 2.30.2