aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJim Wilson <wilson@tuliptree.org>2000-08-14 20:13:39 +0000
committerJim Wilson <wilson@tuliptree.org>2000-08-14 20:13:39 +0000
commitc43c2cc5fab9b4e50144fd1a7dce611a7ccc1c6a (patch)
treeff25a461a5f91e955243c0dd54d30cda47c1ea3a /gas
parentdb4f6831161cdf3627169e82344b82b1c6813ef1 (diff)
downloadgdb-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')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-ia64.c19
2 files changed, 22 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e3871b7..1deb66c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
2000-08-14 Mark Elbrecht <snowball3@bigfoot.com>
* config/obj-coff.c (obj_coff_endef) [BFD_ASSEMBLER]: Set the debug
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;