aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-04-08 16:57:51 +0930
committerAlan Modra <amodra@gmail.com>2019-04-10 13:27:29 +0930
commit12400dcc0f3a4be8d1d165dc2b3a9f0bb9b579f0 (patch)
tree76e5bfaf40fc0f88664461409de69e04b018a0a5 /gas/config
parent789ce185ac3353ed5bc21dd8ea70a8094e4876d5 (diff)
downloadgdb-12400dcc0f3a4be8d1d165dc2b3a9f0bb9b579f0.zip
gdb-12400dcc0f3a4be8d1d165dc2b3a9f0bb9b579f0.tar.gz
gdb-12400dcc0f3a4be8d1d165dc2b3a9f0bb9b579f0.tar.bz2
te-cloudabi.h
This patch is aimed a fixing large numbers of x86_64-cloudabi failures caused by gas selecting the wrong target name. * config/te-cloudabi.h: New file. * config/tc-aarch64.c (aarch64_after_parse_args): Use TE_CLOUDABI rather than TARGET_OS to select cloudabi. * config/tc-i386.h (ELF_TARGET_FORMAT64): Define for TE_CLOUDABI. * configure.tgt (*-*-cloudabi*): Set em=cloudabi.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-aarch64.c13
-rw-r--r--gas/config/tc-i386.h2
-rw-r--r--gas/config/te-cloudabi.h22
3 files changed, 32 insertions, 5 deletions
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index d04e9a1..8008cd8 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -8331,15 +8331,18 @@ aarch64_after_parse_args (void)
const char *
elf64_aarch64_target_format (void)
{
- if (strcmp (TARGET_OS, "cloudabi") == 0)
- {
- /* FIXME: What to do for ilp32_p ? */
- return target_big_endian ? "elf64-bigaarch64-cloudabi" : "elf64-littleaarch64-cloudabi";
- }
+#ifdef TE_CLOUDABI
+ /* FIXME: What to do for ilp32_p ? */
+ if (target_big_endian)
+ return "elf64-bigaarch64-cloudabi";
+ else
+ return "elf64-littleaarch64-cloudabi";
+#else
if (target_big_endian)
return ilp32_p ? "elf32-bigaarch64" : "elf64-bigaarch64";
else
return ilp32_p ? "elf32-littleaarch64" : "elf64-littleaarch64";
+#endif
}
void
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h
index 1f740e4..b02a256 100644
--- a/gas/config/tc-i386.h
+++ b/gas/config/tc-i386.h
@@ -63,6 +63,8 @@ extern unsigned long i386_mach (void);
#define ELF_TARGET_FORMAT "elf32-i386-nacl"
#define ELF_TARGET_FORMAT32 "elf32-x86-64-nacl"
#define ELF_TARGET_FORMAT64 "elf64-x86-64-nacl"
+#elif defined TE_CLOUDABI
+#define ELF_TARGET_FORMAT64 "elf64-x86-64-cloudabi"
#endif
#ifdef TE_SOLARIS
diff --git a/gas/config/te-cloudabi.h b/gas/config/te-cloudabi.h
new file mode 100644
index 0000000..6ddbbd6
--- /dev/null
+++ b/gas/config/te-cloudabi.h
@@ -0,0 +1,22 @@
+/* Copyright (C) 2019 Free Software Foundation, Inc.
+
+ This file is part of GAS, the GNU Assembler.
+
+ GAS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 3,
+ or (at your option) any later version.
+
+ GAS is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+ the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GAS; see the file COPYING. If not, write to the Free
+ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+#define TE_CLOUDABI
+
+#include "obj-format.h"