diff options
author | Tristan Gingold <gingold@adacore.com> | 2009-07-02 08:09:35 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2009-07-02 08:09:35 +0000 |
commit | e57f8c655cb90b3b73e5906ada99ab72c83f95af (patch) | |
tree | cd863be6dbd40cc4897620c058bab54df67fb208 /gas/config/obj-macho.c | |
parent | 16fb2c8c4253f31c368652212f44951c9f31f373 (diff) | |
download | gdb-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.c | 57 |
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} +}; |