aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.c
diff options
context:
space:
mode:
Diffstat (limited to 'ld/ldlang.c')
-rw-r--r--ld/ldlang.c37
1 files changed, 22 insertions, 15 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 212c9b6..07562b8 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -134,6 +134,7 @@ lang_output_section_statement_type *abs_output_section;
lang_statement_list_type *stat_ptr = &statement_list;
lang_statement_list_type file_chain = { 0 };
static const char *entry_symbol = 0;
+boolean entry_from_cmdline;
boolean lang_has_input_file = false;
boolean had_output_filename = false;
boolean lang_float_flag = false;
@@ -1241,9 +1242,11 @@ print_output_section_statement (output_section_statement)
print_nl ();
if (output_section_statement->load_base)
{
- int b = exp_get_abs_int(output_section_statement->load_base,
+ bfd_vma b = exp_get_abs_int(output_section_statement->load_base,
0, "output base", lang_final_phase_enum);
- fprintf (config.map_file, "Output address %08x\n", b);
+ fprintf (config.map_file, "Output address ");
+ fprintf_vma (config.map_file, b);
+ fprintf (config.map_file, "\n");
}
if (output_section_statement->section_alignment >= 0
|| output_section_statement->subsection_alignment >= 0)
@@ -2347,7 +2350,7 @@ lang_one_common (h, info)
power_of_two = h->u.c.p->alignment_power;
if (config.sort_common
- && power_of_two < *(int *) info)
+ && power_of_two < (unsigned int) *(int *) info)
return true;
section = h->u.c.p->section;
@@ -2589,17 +2592,23 @@ lang_add_output (name, from_script)
static lang_output_section_statement_type *current_section;
-static int topower(x)
+static int
+topower (x)
int x;
{
- unsigned int i = 1;
+ unsigned int i = 1;
int l;
- if (x < 0) return -1;
+
+ if (x < 0)
+ return -1;
+
for (l = 0; l < 32; l++)
- {
- if (i >= x) return l;
- i<<=1;
- }
+ {
+ if (i >= (unsigned int) x)
+ return l;
+ i <<= 1;
+ }
+
return 0;
}
void
@@ -2834,16 +2843,14 @@ lang_section_start (name, address)
void
lang_add_entry (name, cmdline)
CONST char *name;
- int cmdline;
+ boolean cmdline;
{
- static int from_cmdline;
-
if (entry_symbol == NULL
|| cmdline
- || ! from_cmdline)
+ || ! entry_from_cmdline)
{
entry_symbol = name;
- from_cmdline = cmdline;
+ entry_from_cmdline = cmdline;
}
#if 0
/* don't do this yet. It seems to work (the executables run), but the