aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-05-26 11:13:20 +0000
committerAlan Modra <amodra@gmail.com>2012-05-26 11:13:20 +0000
commitf05eb3b73cbb938b6519ad4462ab6fd9934804f9 (patch)
treec444e4b8749b62369622239b9f5fd5d3ca5d72d1 /ld/emultempl
parente7c7fd1c228f4d55b47fd804e7e9c1bf77f24442 (diff)
downloadgdb-f05eb3b73cbb938b6519ad4462ab6fd9934804f9.zip
gdb-f05eb3b73cbb938b6519ad4462ab6fd9934804f9.tar.gz
gdb-f05eb3b73cbb938b6519ad4462ab6fd9934804f9.tar.bz2
ld/
* ldlex.h (enum option_values): Move from.. * lexsup.c: ..here. * emultempl/ppc32elf.em: Include ldlex.h. (PARSE_AND_LIST_ARGS_CASES): Disable optimisations when --traditional-format. * emultempl/ppc64elf.em: Likewise. ld/testsuite/ * ld-srec/srec.exp: Remove powerpc64 flag setting.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/ppc32elf.em8
-rw-r--r--ld/emultempl/ppc64elf.em11
2 files changed, 18 insertions, 1 deletions
diff --git a/ld/emultempl/ppc32elf.em b/ld/emultempl/ppc32elf.em
index d9d7c03..6843770 100644
--- a/ld/emultempl/ppc32elf.em
+++ b/ld/emultempl/ppc32elf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2003, 2005, 2007, 2008, 2009, 2010, 2011
+# Copyright 2003, 2005, 2007, 2008, 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
@@ -27,6 +27,7 @@ fragment <<EOF
#include "libbfd.h"
#include "elf32-ppc.h"
+#include "ldlex.h"
#define is_ppc_elf(bfd) \
(bfd_get_flavour (bfd) == bfd_target_elf_flavour \
@@ -237,6 +238,11 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
case OPTION_OLD_GOT:
old_got = 1;
break;
+
+ case OPTION_TRADITIONAL_FORMAT:
+ notlsopt = 1;
+ no_tls_get_addr_opt = 1;
+ return FALSE;
'
# Put these extra ppc32elf routines in ld_${EMULATION_NAME}_emulation
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index 40882ab..d578f7f 100644
--- a/ld/emultempl/ppc64elf.em
+++ b/ld/emultempl/ppc64elf.em
@@ -29,6 +29,7 @@ fragment <<EOF
#include "libbfd.h"
#include "elf-bfd.h"
#include "elf64-ppc.h"
+#include "ldlex.h"
/* Fake input file for stubs. */
static lang_input_statement_type *stub_file;
@@ -850,6 +851,16 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
case OPTION_NON_OVERLAPPING_OPD:
non_overlapping_opd = 1;
break;
+
+ case OPTION_TRADITIONAL_FORMAT:
+ no_tls_opt = 1;
+ no_tls_get_addr_opt = 1;
+ no_opd_opt = 1;
+ no_toc_opt = 1;
+ no_multi_toc = 1;
+ no_toc_sort = 1;
+ plt_static_chain = 1;
+ return FALSE;
'
# Put these extra ppc64elf routines in ld_${EMULATION_NAME}_emulation