aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-macho.c
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2009-07-02 08:09:35 +0000
committerTristan Gingold <gingold@adacore.com>2009-07-02 08:09:35 +0000
commite57f8c655cb90b3b73e5906ada99ab72c83f95af (patch)
treecd863be6dbd40cc4897620c058bab54df67fb208 /gas/config/obj-macho.c
parent16fb2c8c4253f31c368652212f44951c9f31f373 (diff)
downloadgdb-e57f8c655cb90b3b73e5906ada99ab72c83f95af.zip
gdb-e57f8c655cb90b3b73e5906ada99ab72c83f95af.tar.gz
gdb-e57f8c655cb90b3b73e5906ada99ab72c83f95af.tar.bz2
2009-07-02 Tristan Gingold <gingold@adacore.com>
* Makefile.am (OBJ_FORMATS): Add macho. (CPU_OBJ_VALID): Ditto. (OBJ_FORMAT_CFILES): Add config/obj-macho.c (OBJ_FORMAT_HFILES): Add config/obj-macho.h (obj-macho.o): New rule. * Makefile.in: Regenerated. * configure.tgt (generic_target): Add i386-*-darwin*. * config/tc-i386.h: Use i386_target_format for Mach-O. * config/tc-i386.c (i386_target_format): Define it for Mach-O. (i386_target_format): Add a case for bfd_target_mach_o_flavour. * config/obj-macho.h: New file. * config/obj-macho.c: New file.
Diffstat (limited to 'gas/config/obj-macho.c')
-rw-r--r--gas/config/obj-macho.c57
1 files changed, 57 insertions, 0 deletions
diff --git a/gas/config/obj-macho.c b/gas/config/obj-macho.c
new file mode 100644
index 0000000..ee19c4a
--- /dev/null
+++ b/gas/config/obj-macho.c
@@ -0,0 +1,57 @@
+/* Mach-O object file format
+ Copyright 2009 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 OBJ_HEADER "obj-macho.h"
+
+#include "as.h"
+#include "mach-o.h"
+
+static void
+obj_mach_o_weak (int ignore ATTRIBUTE_UNUSED)
+{
+ char *name;
+ int c;
+ symbolS *symbolP;
+
+ do
+ {
+ /* Get symbol name. */
+ name = input_line_pointer;
+ c = get_symbol_end ();
+ symbolP = symbol_find_or_make (name);
+ S_SET_WEAK (symbolP);
+ *input_line_pointer = c;
+ SKIP_WHITESPACE ();
+
+ if (c != ',')
+ break;
+ input_line_pointer++;
+ SKIP_WHITESPACE ();
+ }
+ while (*input_line_pointer != '\n');
+ demand_empty_rest_of_line ();
+}
+
+const pseudo_typeS mach_o_pseudo_table[] =
+{
+ {"weak", obj_mach_o_weak, 0},
+
+ {NULL, NULL, 0}
+};