You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
6.5 KiB
187 lines
6.5 KiB
commit 27b829ee701e29804216b3803fbaeb629be27491 |
|
Author: Nick Clifton <nickc@redhat.com> |
|
Date: Wed Jan 29 13:46:39 2014 +0000 |
|
|
|
Following up on Tom's suggestion I am checking in a patch to replace the various |
|
bfd_xxx_set macros with static inline functions, so that we can avoid compile time |
|
warnings about comma expressions with unused values. |
|
|
|
* bfd-in.h (bfd_set_section_vma): Delete. |
|
(bfd_set_section_alignment): Delete. |
|
(bfd_set_section_userdata): Delete. |
|
(bfd_set_cacheable): Delete. |
|
* bfd.c (bfd_set_cacheable): New static inline function. |
|
* section.c (bfd_set_section_userdata): Likewise. |
|
(bfd_set_section_vma): Likewise. |
|
(bfd_set_section_alignment): Likewise. |
|
* bfd-in2.h: Regenerate. |
|
|
|
### a/bfd/ChangeLog |
|
### b/bfd/ChangeLog |
|
## -1,3 +1,15 @@ |
|
+2014-01-29 Nick Clifton <nickc@redhat.com> |
|
+ |
|
+ * bfd-in.h (bfd_set_section_vma): Delete. |
|
+ (bfd_set_section_alignment): Delete. |
|
+ (bfd_set_section_userdata): Delete. |
|
+ (bfd_set_cacheable): Delete. |
|
+ * bfd.c (bfd_set_cacheable): New static inline function. |
|
+ * section.c (bfd_set_section_userdata): Likewise. |
|
+ (bfd_set_section_vma): Likewise. |
|
+ (bfd_set_section_alignment): Likewise. |
|
+ * bfd-in2.h: Regenerate. |
|
+ |
|
2014-01-28 Nick Clifton <nickc@redhat.com> |
|
|
|
* dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr |
|
--- a/bfd/bfd-in.h |
|
+++ b/bfd/bfd-in.h |
|
@@ -292,9 +292,6 @@ typedef struct bfd_section *sec_ptr; |
|
|
|
#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0) |
|
|
|
-#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE) |
|
-#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE) |
|
-#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE) |
|
/* Find the address one past the end of SEC. */ |
|
#define bfd_get_section_limit(bfd, sec) \ |
|
(((bfd)->direction != write_direction && (sec)->rawsize != 0 \ |
|
@@ -517,8 +514,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *); |
|
|
|
#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char) |
|
|
|
-#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE) |
|
- |
|
extern bfd_boolean bfd_cache_close |
|
(bfd *abfd); |
|
/* NB: This declaration should match the autogenerated one in libbfd.h. */ |
|
--- a/bfd/bfd-in2.h |
|
+++ b/bfd/bfd-in2.h |
|
@@ -299,9 +299,6 @@ typedef struct bfd_section *sec_ptr; |
|
|
|
#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0) |
|
|
|
-#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE) |
|
-#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE) |
|
-#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE) |
|
/* Find the address one past the end of SEC. */ |
|
#define bfd_get_section_limit(bfd, sec) \ |
|
(((bfd)->direction != write_direction && (sec)->rawsize != 0 \ |
|
@@ -524,8 +521,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *); |
|
|
|
#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char) |
|
|
|
-#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE) |
|
- |
|
extern bfd_boolean bfd_cache_close |
|
(bfd *abfd); |
|
/* NB: This declaration should match the autogenerated one in libbfd.h. */ |
|
@@ -1029,7 +1024,7 @@ bfd *bfd_openr (const char *filename, const char *target); |
|
|
|
bfd *bfd_fdopenr (const char *filename, const char *target, int fd); |
|
|
|
-bfd *bfd_openstreamr (const char *, const char *, void *); |
|
+bfd *bfd_openstreamr (const char * filename, const char * target, void * stream); |
|
|
|
bfd *bfd_openr_iovec (const char *filename, const char *target, |
|
void *(*open_func) (struct bfd *nbfd, |
|
@@ -1596,6 +1591,32 @@ struct relax_table { |
|
int size; |
|
}; |
|
|
|
+/* Note: the following are provided as inline functions rather than macros |
|
+ because not all callers use the return value. A macro implementation |
|
+ would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some |
|
+ compilers will complain about comma expressions that have no effect. */ |
|
+static inline bfd_boolean |
|
+bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val) |
|
+{ |
|
+ ptr->userdata = val; |
|
+ return TRUE; |
|
+} |
|
+ |
|
+static inline bfd_boolean |
|
+bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val) |
|
+{ |
|
+ ptr->vma = ptr->lma = val; |
|
+ ptr->user_set_vma = TRUE; |
|
+ return TRUE; |
|
+} |
|
+ |
|
+static inline bfd_boolean |
|
+bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val) |
|
+{ |
|
+ ptr->alignment_power = val; |
|
+ return TRUE; |
|
+} |
|
+ |
|
/* These sections are global, and are managed by BFD. The application |
|
and target back end are not permitted to change the values in |
|
these sections. */ |
|
@@ -6415,6 +6436,14 @@ struct bfd |
|
unsigned int selective_search : 1; |
|
}; |
|
|
|
+/* See note beside bfd_set_section_userdata. */ |
|
+static inline bfd_boolean |
|
+bfd_set_cacheable (bfd * abfd, bfd_boolean val) |
|
+{ |
|
+ abfd->cacheable = val; |
|
+ return TRUE; |
|
+} |
|
+ |
|
typedef enum bfd_error |
|
{ |
|
bfd_error_no_error = 0, |
|
--- a/bfd/bfd.c |
|
+++ b/bfd/bfd.c |
|
@@ -311,6 +311,14 @@ CODE_FRAGMENT |
|
. unsigned int selective_search : 1; |
|
.}; |
|
. |
|
+.{* See note beside bfd_set_section_userdata. *} |
|
+.static inline bfd_boolean |
|
+.bfd_set_cacheable (bfd * abfd, bfd_boolean val) |
|
+.{ |
|
+. abfd->cacheable = val; |
|
+. return TRUE; |
|
+.} |
|
+. |
|
*/ |
|
|
|
#include "sysdep.h" |
|
--- a/bfd/section.c |
|
+++ b/bfd/section.c |
|
@@ -542,6 +542,32 @@ CODE_FRAGMENT |
|
. int size; |
|
.}; |
|
. |
|
+.{* Note: the following are provided as inline functions rather than macros |
|
+. because not all callers use the return value. A macro implementation |
|
+. would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some |
|
+. compilers will complain about comma expressions that have no effect. *} |
|
+.static inline bfd_boolean |
|
+.bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val) |
|
+.{ |
|
+. ptr->userdata = val; |
|
+. return TRUE; |
|
+.} |
|
+. |
|
+.static inline bfd_boolean |
|
+.bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val) |
|
+.{ |
|
+. ptr->vma = ptr->lma = val; |
|
+. ptr->user_set_vma = TRUE; |
|
+. return TRUE; |
|
+.} |
|
+. |
|
+.static inline bfd_boolean |
|
+.bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val) |
|
+.{ |
|
+. ptr->alignment_power = val; |
|
+. return TRUE; |
|
+.} |
|
+. |
|
.{* These sections are global, and are managed by BFD. The application |
|
. and target back end are not permitted to change the values in |
|
. these sections. *}
|
|
|