diff options
author | Alan Modra <amodra@gmail.com> | 2012-05-26 11:13:20 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-05-26 11:13:20 +0000 |
commit | f05eb3b73cbb938b6519ad4462ab6fd9934804f9 (patch) | |
tree | c444e4b8749b62369622239b9f5fd5d3ca5d72d1 /ld/emultempl | |
parent | e7c7fd1c228f4d55b47fd804e7e9c1bf77f24442 (diff) | |
download | gdb-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.em | 8 | ||||
-rw-r--r-- | ld/emultempl/ppc64elf.em | 11 |
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 |