projects
/
external
/
binutils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "Enable relro by default for AArch64, ARM and SCORE."
[external/binutils.git]
/
ld
/
emultempl
/
linux.em
diff --git
a/ld/emultempl/linux.em
b/ld/emultempl/linux.em
index
0d2dc5d
..
c28e978
100644
(file)
--- a/
ld/emultempl/linux.em
+++ b/
ld/emultempl/linux.em
@@
-5,35
+5,35
@@
if [ -z "$MACHINE" ]; then
else
OUTPUT_ARCH=${ARCH}:${MACHINE}
fi
else
OUTPUT_ARCH=${ARCH}:${MACHINE}
fi
-
cat >e${EMULATION_NAME}.c
<<EOF
+
fragment
<<EOF
/* This file is is generated by a shell script. DO NOT EDIT! */
/* Linux a.out emulation code for ${EMULATION_NAME}
/* This file is is generated by a shell script. DO NOT EDIT! */
/* Linux a.out emulation code for ${EMULATION_NAME}
- Copyright 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1991-2016 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
Linux support by Eric Youngdale <ericy@cais.cais.com>
Written by Steve Chamberlain <sac@cygnus.com>
Linux support by Eric Youngdale <ericy@cais.cais.com>
-
This file is part of GLD, the Gnu Linker
.
+
This file is part of the GNU Binutils
.
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-
the Free Software Foundation; either version 2
of the License, or
-(at your option) any later version.
+
This program is free software; you can redistribute it and/or modify
+
it under the terms of the GNU General Public License as published by
+
the Free Software Foundation; either version 3
of the License, or
+
(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+
This program is distributed in the hope that it will be useful,
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+
GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
#define TARGET_IS_${EMULATION_NAME}
#define TARGET_IS_${EMULATION_NAME}
-#include "bfd.h"
#include "sysdep.h"
#include "sysdep.h"
+#include "bfd.h"
#include "bfdlink.h"
#include "ld.h"
#include "bfdlink.h"
#include "ld.h"
@@
-48,7
+48,7
@@
static void
gld${EMULATION_NAME}_before_parse (void)
{
ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`);
gld${EMULATION_NAME}_before_parse (void)
{
ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`);
-
config.dynamic_link
= TRUE;
+
input_flags.dynamic
= TRUE;
config.has_shared = TRUE;
}
config.has_shared = TRUE;
}
@@
-61,7
+61,7
@@
gld${EMULATION_NAME}_open_dynamic_archive
{
char *string;
{
char *string;
- if (! entry->
is_archive
)
+ if (! entry->
flags.maybe_archive || entry->flags.full_name_provided
)
return FALSE;
string = (char *) xmalloc (strlen (search->name)
return FALSE;
string = (char *) xmalloc (strlen (search->name)
@@
-114,35
+114,38
@@
gld${EMULATION_NAME}_create_output_section_statements (void)
static void
gld${EMULATION_NAME}_before_allocation (void)
{
static void
gld${EMULATION_NAME}_before_allocation (void)
{
- if (
link_info.relocatable
)
+ if (
bfd_link_relocatable (&link_info)
)
return;
/* Let the backend work out the sizes of any sections required by
dynamic linking. */
return;
/* Let the backend work out the sizes of any sections required by
dynamic linking. */
- if (! bfd_${EMULATION_NAME}_size_dynamic_sections (output_bfd, &link_info))
+ if (! bfd_${EMULATION_NAME}_size_dynamic_sections (link_info.output_bfd,
+ &link_info))
einfo ("%P%F: failed to set dynamic section sizes: %E\n");
einfo ("%P%F: failed to set dynamic section sizes: %E\n");
+
+ before_allocation_default ();
}
static char *
gld${EMULATION_NAME}_get_script (int *isfile)
EOF
}
static char *
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
@@
-155,13
+158,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";
@@
-174,7
+177,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 =
{
@@
-190,7
+193,7
@@
struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
gld${EMULATION_NAME}_get_script,
"${EMULATION_NAME}",
"${OUTPUT_FORMAT}",
gld${EMULATION_NAME}_get_script,
"${EMULATION_NAME}",
"${OUTPUT_FORMAT}",
- NULL, /* finish */
+ finish_default,
gld${EMULATION_NAME}_create_output_section_statements,
gld${EMULATION_NAME}_open_dynamic_archive,
NULL, /* place orphan */
gld${EMULATION_NAME}_create_output_section_statements,
gld${EMULATION_NAME}_open_dynamic_archive,
NULL, /* place orphan */
@@
-202,6
+205,7
@@
struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
NULL, /* list options */
NULL, /* recognized file */
NULL, /* find_potential_libraries */
- NULL /* new_vers_pattern */
+ NULL, /* new_vers_pattern */
+ NULL /* extra_map_file_text */
};
EOF
};
EOF