diff options
author | Richard Henderson <rth@redhat.com> | 2001-02-10 01:42:04 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2001-02-10 01:42:04 +0000 |
commit | 91a2ae2a30a7935807a7d138de8cfa9e4613e797 (patch) | |
tree | b498740e5834259e3dbee71b3e746a55b8d8e6b9 /gas/config/tc-ia64.h | |
parent | 81545d45ad419d93c17fe42b73fda5f28e0dafda (diff) | |
download | gdb-91a2ae2a30a7935807a7d138de8cfa9e4613e797.zip gdb-91a2ae2a30a7935807a7d138de8cfa9e4613e797.tar.gz gdb-91a2ae2a30a7935807a7d138de8cfa9e4613e797.tar.bz2 |
* config/tc-ia64.h (md_elf_section_type): New macro.
(ELF_TC_SPECIAL_SECTIONS): Drop .IA_64.unwind and .IA_64.unwind_info
(they're now handled via ia64_elf_section_type.
* config/tc-ia64.c (unwind): New members saved_text_seg,
saved_text_subseg, and force_unwind_entry.
(optimize_unw_records): New function to optimize away unnecessary
unwind directives.
(ia64_elf_section_type): New function.
(output_unw_records): Generate unwind info only if the size is
non-zero or if it's forced for some other reason (e.g.,
handlerdata or a personality routine).
(generate_unwind_image): Don't switch back to previous
section---stay inside the unwind info section instead so that
handlerdata that may follow goes into the right place.
(dot_handlerdata): Force generation of unwind entry and save the
current active text segment before generating unwind image.
(dot_unwentry): Force generation of unwind entry.
(dot_personality): Ditto.
(dot_endp): Generate unwind table entry only if there is
some unwind info or the unwind entry was forced.
* config/tc-ia64.c (make_unw_section_name): New macro to form
unwind section name.
(generate_unwind_image): Add "text_name" argument. Use it to
form unwind section name.
(dot_handlerdata): Determine current segment (section) name and
pass it to generate_unwind_image().
(dot_endp): Determine current segment (section) name and use
it to determine the appropriate unwind section name.
(ia64_md_do_align): Add missing ATTRIBUTE_UNUSED declarations to
n, fill, and max arguments.
Diffstat (limited to 'gas/config/tc-ia64.h')
-rw-r--r-- | gas/config/tc-ia64.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h index 05e30c6..f2b9fe4 100644 --- a/gas/config/tc-ia64.h +++ b/gas/config/tc-ia64.h @@ -1,5 +1,5 @@ /* tc-ia64.h -- Header file for tc-ia64.c. - Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by David Mosberger-Tang <davidm@hpl.hp.com> This file is part of GAS, the GNU Assembler. @@ -82,6 +82,7 @@ extern void ia64_cons_fix_new PARAMS ((fragS *f, int where, int nbytes, extern void ia64_validate_fix PARAMS ((struct fix *fix)); extern char * ia64_canonicalize_symbol_name PARAMS ((char *)); extern flagword ia64_elf_section_flags PARAMS ((flagword, int, int)); +extern int ia64_elf_section_type PARAMS ((const char *, size_t len)); extern long ia64_pcrel_from_section PARAMS ((struct fix *fix, segT sec)); extern void ia64_md_do_align PARAMS ((int, const char *, int, int)); extern void ia64_handle_align PARAMS ((fragS *f)); @@ -111,6 +112,7 @@ extern void ia64_handle_align PARAMS ((fragS *f)); #define MD_PCREL_FROM_SECTION(fix,sec) ia64_pcrel_from_section (fix, sec) #define md_do_align(n,f,l,m,j) ia64_md_do_align (n,f,l,m) #define HANDLE_ALIGN(f) ia64_handle_align (f) +#define md_elf_section_type(str,len) ia64_elf_section_type (str, len) #define MAX_MEM_FOR_RS_ALIGN_CODE (15 + 16) @@ -121,9 +123,7 @@ extern void ia64_handle_align PARAMS ((fragS *f)); #define ELF_TC_SPECIAL_SECTIONS \ { ".sbss", SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_IA_64_SHORT }, \ -{ ".sdata", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_IA_64_SHORT }, \ -{ ".IA_64.unwind", SHT_IA_64_UNWIND, SHF_ALLOC }, \ -{ ".IA_64.unwind_info", SHT_PROGBITS, SHF_ALLOC }, +{ ".sdata", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_IA_64_SHORT }, #define DWARF2_LINE_MIN_INSN_LENGTH 1 /* so slot-multipliers can be 1 */ |