aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ldexp.c3
-rw-r--r--ld/ldfile.c2
-rw-r--r--ld/ldgram.y3
-rw-r--r--ld/ldlang.c4
-rw-r--r--ld/ldlex.l2
5 files changed, 9 insertions, 5 deletions
diff --git a/ld/ldexp.c b/ld/ldexp.c
index 583b9bc..5d12c46 100644
--- a/ld/ldexp.c
+++ b/ld/ldexp.c
@@ -256,6 +256,9 @@ bfd_vma *dotp;
FAIL();
}
}
+ else {
+ result.valid = false;
+ }
}
return result;
}
diff --git a/ld/ldfile.c b/ld/ldfile.c
index 2a0380c..a52cfb0 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -37,7 +37,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* EXPORT */
char *ldfile_input_filename;
-CONST char * ldfile_output_machine_name;
+CONST char * ldfile_output_machine_name ="";
unsigned long ldfile_output_machine;
enum bfd_architecture ldfile_output_architecture;
boolean had_script;
diff --git a/ld/ldgram.y b/ld/ldgram.y
index c9af249..741a02f 100644
--- a/ld/ldgram.y
+++ b/ld/ldgram.y
@@ -276,11 +276,10 @@ command_line_option:
{
ldgram_in_defsym = true;
ldgram_in_expression = true;
- hex_mode = true;
+
}
assignment
{
- hex_mode = false;
ldgram_in_defsym = false;
ldgram_in_expression = false;
}
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 55553fa..483472c 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -984,7 +984,9 @@ static void
DEFUN(print_input_statement,(statm),
lang_input_statement_type *statm)
{
- printf("LOAD %s\n",statm->filename);
+ if (statm->filename != (char *)NULL) {
+ printf("LOAD %s\n",statm->filename);
+ }
}
static void
diff --git a/ld/ldlex.l b/ld/ldlex.l
index 2651a05..613f356 100644
--- a/ld/ldlex.l
+++ b/ld/ldlex.l
@@ -388,7 +388,7 @@ WHITE [ \t]+
}
[0-9]+[KM]? {
- if (hex_mode == true) {
+ if (hex_mode == true || ldgram_in_defsym == true) {
yylval.integer = number(yytext, 16);
}
else {