projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ARM] Fix warning cannot find thumb start symbol
[deliverable/binutils-gdb.git]
/
ld
/
emultempl
/
armcoff.em
diff --git
a/ld/emultempl/armcoff.em
b/ld/emultempl/armcoff.em
index d258acc3059fd3a5a506b1c3ec4d6e08c59d1f92..7ef9d062725addf6072d7d5dc4f0e7b85909723e 100644
(file)
--- a/
ld/emultempl/armcoff.em
+++ b/
ld/emultempl/armcoff.em
@@
-1,11
+1,10
@@
# This shell script emits a C file. -*- C -*-
# It does some substitutions.
# This shell script emits a C file. -*- C -*-
# It does some substitutions.
-
cat >e${EMULATION_NAME}.c
<<EOF
+
fragment
<<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* emulate the original gld for the given ${EMULATION_NAME}
/* This file is is generated by a shell script. DO NOT EDIT! */
/* emulate the original gld for the given ${EMULATION_NAME}
- Copyright 1991, 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1991-2018 Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
This file is part of the GNU Binutils.
Written by Steve Chamberlain steve@cygnus.com
This file is part of the GNU Binutils.
@@
-70,8
+69,8
@@
gld${EMULATION_NAME}_add_options
static void
gld${EMULATION_NAME}_list_options (FILE *file)
{
static void
gld${EMULATION_NAME}_list_options (FILE *file)
{
- fprintf (file, _(" --support-old-code Support interworking with old code\n"));
- fprintf (file, _(" --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"));
+ fprintf (file, _(" --support-old-code
Support interworking with old code\n"));
+ fprintf (file, _(" --thumb-entry=<sym>
Set the entry point to be Thumb symbol <sym>\n"));
}
static bfd_boolean
}
static bfd_boolean
@@
-119,7
+118,8
@@
gld${EMULATION_NAME}_before_allocation (void)
(is->the_bfd, & link_info, support_old_code))
{
/* xgettext:c-format */
(is->the_bfd, & link_info, support_old_code))
{
/* xgettext:c-format */
- einfo (_("Errors encountered processing file %s"), is->filename);
+ einfo (_("%P: errors encountered processing file %s\n"),
+ is->filename);
}
}
}
}
}
}
@@
-133,13
+133,16
@@
gld${EMULATION_NAME}_before_allocation (void)
static void
gld${EMULATION_NAME}_after_open (void)
{
static void
gld${EMULATION_NAME}_after_open (void)
{
- if (strstr (bfd_get_target (output_bfd), "arm") == NULL)
+ after_open_default ();
+
+ if (strstr (bfd_get_target (link_info.output_bfd), "arm") == NULL)
{
/* The arm backend needs special fields in the output hash structure.
These will only be created if the output format is an arm format,
hence we do not support linking and changing output formats at the
same time. Use a link followed by objcopy to change output formats. */
{
/* The arm backend needs special fields in the output hash structure.
These will only be created if the output format is an arm format,
hence we do not support linking and changing output formats at the
same time. Use a link followed by objcopy to change output formats. */
- einfo ("%F%X%P: error: cannot change output format whilst linking ARM binaries\n");
+ einfo (_("%F%P: error: cannot change output format "
+ "whilst linking %s binaries\n"), "ARM");
return;
}
return;
}
@@
-173,7
+176,7
@@
gld${EMULATION_NAME}_finish (void)
/* Special procesing is required for a Thumb entry symbol. The
bottom bit of its address must be set. */
val = (h->u.def.value
/* Special procesing is required for a Thumb entry symbol. The
bottom bit of its address must be set. */
val = (h->u.def.value
- + bfd_get_section_vma (output_bfd,
+ + bfd_get_section_vma (
link_info.
output_bfd,
h->u.def.section->output_section)
+ h->u.def.section->output_offset);
h->u.def.section->output_section)
+ h->u.def.section->output_offset);
@@
-192,7
+195,7
@@
gld${EMULATION_NAME}_finish (void)
entry_symbol.name = buffer;
}
else
entry_symbol.name = buffer;
}
else
- einfo (_("%P: warning: c
o
nnot find thumb start symbol %s\n"),
+ einfo (_("%P: warning: c
a
nnot find thumb start symbol %s\n"),
thumb_entry_symbol);
}
thumb_entry_symbol);
}
@@
-203,22
+206,22
@@
static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
-if test
-n "$COMPILE_IN"
+if test
x"$COMPILE_IN" = xyes
then
# Scripts compiled in.
# sed commands to quote an ld script as a C string.
sc="-f stringify.sed"
then
# Scripts compiled in.
# sed commands to quote an ld script as a C string.
sc="-f stringify.sed"
-
cat >>e${EMULATION_NAME}.c
<<EOF
+
fragment
<<EOF
{
*isfile = 0;
{
*isfile = 0;
- if (
link_info.relocatable
&& config.build_constructors)
+ if (
bfd_link_relocatable (&link_info)
&& config.build_constructors)
return
EOF
sed $sc ldscripts/${EMULATION_NAME}.xu >> e${EMULATION_NAME}.c
return
EOF
sed $sc ldscripts/${EMULATION_NAME}.xu >> e${EMULATION_NAME}.c
-echo ' ; else if (
link_info.relocatable) return'
>> e${EMULATION_NAME}.c
+echo ' ; else if (
bfd_link_relocatable (&link_info)) return'
>> e${EMULATION_NAME}.c
sed $sc ldscripts/${EMULATION_NAME}.xr >> e${EMULATION_NAME}.c
echo ' ; else if (!config.text_read_only) return' >> e${EMULATION_NAME}.c
sed $sc ldscripts/${EMULATION_NAME}.xbn >> e${EMULATION_NAME}.c
sed $sc ldscripts/${EMULATION_NAME}.xr >> e${EMULATION_NAME}.c
echo ' ; else if (!config.text_read_only) return' >> e${EMULATION_NAME}.c
sed $sc ldscripts/${EMULATION_NAME}.xbn >> e${EMULATION_NAME}.c
@@
-231,13
+234,13
@@
echo '; }' >> e${EMULATION_NAME}.c
else
# Scripts read from the filesystem.
else
# Scripts read from the filesystem.
-
cat >>e${EMULATION_NAME}.c
<<EOF
+
fragment
<<EOF
{
*isfile = 1;
{
*isfile = 1;
- if (
link_info.relocatable
&& config.build_constructors)
+ if (
bfd_link_relocatable (&link_info)
&& config.build_constructors)
return "ldscripts/${EMULATION_NAME}.xu";
return "ldscripts/${EMULATION_NAME}.xu";
- else if (
link_info.relocatable
)
+ else if (
bfd_link_relocatable (&link_info)
)
return "ldscripts/${EMULATION_NAME}.xr";
else if (!config.text_read_only)
return "ldscripts/${EMULATION_NAME}.xbn";
return "ldscripts/${EMULATION_NAME}.xr";
else if (!config.text_read_only)
return "ldscripts/${EMULATION_NAME}.xbn";
@@
-250,7
+253,7
@@
EOF
fi
fi
-
cat >>e${EMULATION_NAME}.c
<<EOF
+
fragment
<<EOF
struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
{
struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
{
@@
-259,6
+262,7
@@
struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
hll_default,
after_parse_default,
gld${EMULATION_NAME}_after_open,
hll_default,
after_parse_default,
gld${EMULATION_NAME}_after_open,
+ after_check_relocs_default,
after_allocation_default,
set_output_arch_default,
ldemul_default_target,
after_allocation_default,
set_output_arch_default,
ldemul_default_target,
@@
-278,6
+282,7
@@
struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
gld${EMULATION_NAME}_list_options,
NULL, /* recognized file */
NULL, /* find_potential_libraries */
gld${EMULATION_NAME}_list_options,
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
};
EOF
This page took
0.043816 seconds
and
4
git commands to generate.