summaryrefslogtreecommitdiff
path: root/bfd/section.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2005-04-11 22:21:23 +0000
committerH.J. Lu <hjl@lucon.org>2005-04-11 22:21:23 +0000
commit29800eb5bd7d54c08c89717a8a28db047ef4c518 (patch)
treeeab6b2a5654b00916a942c2896a3e6ce43ff8de4 /bfd/section.c
parent96b399d565fbad7ff49bb51857cec63ba0683dfb (diff)
downloadbinutils-redhat-29800eb5bd7d54c08c89717a8a28db047ef4c518.tar.gz
2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
* linker.c (_bfd_generic_link_output_symbols): Also check if the output section of an input section has been removed from the output file. * section.c (bfd_section_list_remove): Clear the next field of the removed section. (bfd_section_removed_from_list): New. * bfd-in2.h: Regenerated.
Diffstat (limited to 'bfd/section.c')
-rw-r--r--bfd/section.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/section.c b/bfd/section.c
index 49a87035b7..914d182500 100644
--- a/bfd/section.c
+++ b/bfd/section.c
@@ -546,6 +546,8 @@ CODE_FRAGMENT
. *_ps = _s->next; \
. if (_s->next == NULL) \
. (ABFD)->section_tail = _ps; \
+. else \
+. _s->next = NULL; \
. } \
. while (0)
.#define bfd_section_list_insert(ABFD, PS, S) \
@@ -559,6 +561,8 @@ CODE_FRAGMENT
. (ABFD)->section_tail = &_s->next; \
. } \
. while (0)
+.#define bfd_section_removed_from_list(ABFD, S) \
+. ((S)->next == NULL && &(S)->next != (ABFD)->section_tail)
.
*/