aboutsummaryrefslogtreecommitdiff
path: root/ld/relax.c
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1992-07-14 15:39:31 +0000
committerSteve Chamberlain <sac@cygnus>1992-07-14 15:39:31 +0000
commit67cddd9fafe4a4148ffb677b9c21a27141ba2695 (patch)
tree1a12fc19494fcf17b1f17bea781a33932aa75ea4 /ld/relax.c
parent1acf6627e45ca6ec9b5714f7134e18a8108181d7 (diff)
downloadgdb-67cddd9fafe4a4148ffb677b9c21a27141ba2695.zip
gdb-67cddd9fafe4a4148ffb677b9c21a27141ba2695.tar.gz
gdb-67cddd9fafe4a4148ffb677b9c21a27141ba2695.tar.bz2
* ldlang.c (lang_map): print changes in sizes due to relaxing
(size_input_section): maintain the delta information. * ldlang.h: add new field to struct to contain delta info. * relax.c (relax_section): complain if input not relaxable. * ldlex.l : add '_', ',' and '$' to chars which can appear at the start of a filename
Diffstat (limited to 'ld/relax.c')
-rw-r--r--ld/relax.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ld/relax.c b/ld/relax.c
index 0791fae..5335b23 100644
--- a/ld/relax.c
+++ b/ld/relax.c
@@ -107,7 +107,7 @@ DEFUN(build_it,(statement),
seclet->type = bfd_indirect_seclet;
seclet->u.indirect.section = i;
seclet->u.indirect.symbols = statement->input_section.ifile->asymbols;
- seclet->size = bfd_get_section_size_before_reloc(i);
+ seclet->size = i->_cooked_size;
seclet->offset = i->output_offset;
seclet->next = 0;
}
@@ -175,6 +175,10 @@ DEFUN(relax_section,(this_ptr),
lang_input_section_type *is = &((*this_ptr)->input_section);
asection *i = is->section;
+ if (!(i->owner->flags & BFD_IS_RELAXABLE))
+ {
+ einfo("%B: not assembled with -linkrelax\n", i->owner);
+ }
return bfd_relax_section(i->owner, i, is->ifile->asymbols);