aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ia64.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-02-10 01:42:04 +0000
committerRichard Henderson <rth@redhat.com>2001-02-10 01:42:04 +0000
commit91a2ae2a30a7935807a7d138de8cfa9e4613e797 (patch)
treeb498740e5834259e3dbee71b3e746a55b8d8e6b9 /gas/config/tc-ia64.h
parent81545d45ad419d93c17fe42b73fda5f28e0dafda (diff)
downloadgdb-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.h8
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 */