aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorSteve Chamberlain <steve@cygnus>1991-04-19 01:00:45 +0000
committerSteve Chamberlain <steve@cygnus>1991-04-19 01:00:45 +0000
commitb0f368691e0c9f8badd0ad3b430c56ed37072abc (patch)
treeb7047bcb3a850179f4fec18cf663c45c6c23cc96 /ld
parent1d45ccb383e222bc6a38ad03275735babe2d4595 (diff)
downloadgdb-b0f368691e0c9f8badd0ad3b430c56ed37072abc.zip
gdb-b0f368691e0c9f8badd0ad3b430c56ed37072abc.tar.gz
gdb-b0f368691e0c9f8badd0ad3b430c56ed37072abc.tar.bz2
Fixed a bug where wild scripts stopped working.
Fixed another bug in -R symbol handling
Diffstat (limited to 'ld')
-rw-r--r--ld/ldexp.c4
-rw-r--r--ld/ldlang.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/ld/ldexp.c b/ld/ldexp.c
index a85c79e..e243060 100644
--- a/ld/ldexp.c
+++ b/ld/ldexp.c
@@ -322,8 +322,8 @@ bfd_vma dot;
if (sdef->the_bfd->usrdata &&
((lang_input_statement_type*)(sdef->the_bfd->usrdata))->just_syms_flag == true)
{
- result = new_abs(sdef->value + sdef->section ?
- sdef->section->vma : 0);
+ result = new_abs(sdef->value + (sdef->section ?
+ sdef->section->vma : 0));
}
else {
result = new_rel(sdef->value, os);
diff --git a/ld/ldlang.c b/ld/ldlang.c
index afbc385..4c57f2b 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -643,7 +643,8 @@ DEFUN(wild,(s, section, file, target, output),
/* Perform the iteration over a single file */
wild_section( s, section, lookup_name(file), output);
}
- if (strcmp(section,"COMMON") == 0
+ if (section != (char *)NULL
+ && strcmp(section,"COMMON") == 0
&& default_common_section == (lang_output_section_statement_type*)NULL)
{
/* Remember the section that common is going to incase we later