diff options
author | Jim Wilson <wilson@tuliptree.org> | 2000-08-14 20:13:39 +0000 |
---|---|---|
committer | Jim Wilson <wilson@tuliptree.org> | 2000-08-14 20:13:39 +0000 |
commit | c43c2cc5fab9b4e50144fd1a7dce611a7ccc1c6a (patch) | |
tree | ff25a461a5f91e955243c0dd54d30cda47c1ea3a /gas/config | |
parent | db4f6831161cdf3627169e82344b82b1c6813ef1 (diff) | |
download | gdb-c43c2cc5fab9b4e50144fd1a7dce611a7ccc1c6a.zip gdb-c43c2cc5fab9b4e50144fd1a7dce611a7ccc1c6a.tar.gz gdb-c43c2cc5fab9b4e50144fd1a7dce611a7ccc1c6a.tar.bz2 |
Add support for IA-64 specific elf header flags.
bfd/
2000-08-14 Jim Wilson <wilson@cygnus.com>
* elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
(elf64_ia64_print_private_bfd_data): Likewise. Also handle
EF_IA_64_ABSOLUTE.
gas/
2000-08-14 Jim Wilson <wilson@cygnus.com>
* config/tc-ia64.c (md_longopts): Add -mconstant-gp and -mauto-pic.
(md_parse_option): Add OPTION_MCONSTANT_GP and OPTION_MAUTO_PIC.
(md_begin): Change assignment to md.flag to OR in the new bit.
include/elf/
2000-08-14 Jim Wilson <wilson@cygnus.com>
* elf/ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-ia64.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index d941fdb..297b0da 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -160,7 +160,10 @@ const char *md_shortopts = "M:N:x::"; struct option md_longopts[] = { - { NULL, no_argument, NULL, 0} +#define OPTION_MCONSTANT_GP (OPTION_MD_BASE + 1) + {"mconstant-gp", no_argument, NULL, OPTION_MCONSTANT_GP}, +#define OPTION_MAUTO_PIC (OPTION_MD_BASE + 2) + {"mauto-pic", no_argument, NULL, OPTION_MAUTO_PIC} }; size_t md_longopts_size = sizeof (md_longopts); @@ -5534,9 +5537,9 @@ md_parse_option (c, arg) int c; char *arg; { - /* Switches from the Intel assembler. */ switch (c) { + /* Switches from the Intel assembler. */ case 'M': if (strcmp (arg, "ilp64") == 0 || strcmp (arg, "lp64") == 0 @@ -5629,6 +5632,15 @@ md_parse_option (c, arg) /* nops Print nops statistics. */ break; + /* GNU specific switches for gcc. */ + case OPTION_MCONSTANT_GP: + md.flags |= EF_IA_64_CONS_GP; + break; + + case OPTION_MAUTO_PIC: + md.flags |= EF_IA_64_NOFUNCDESC_CONS_GP; + break; + default: return 0; } @@ -5880,7 +5892,8 @@ md_begin () } /* Default to 64-bit mode. */ - md.flags = EF_IA_64_ABI64; + /* ??? This overrides the -M options, but they aren't working anyways. */ + md.flags |= EF_IA_64_ABI64; md.mem_offset.hint = 0; md.path = 0; |