Browse Source
* 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.msnyder-checkpoint-072509-branch
8 changed files with 138 additions and 4 deletions
@ -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} |
|||
}; |
|||
@ -0,0 +1,39 @@ |
|||
/* Mach-O object file format for gas, the assembler.
|
|||
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. */ |
|||
|
|||
/* Tag to validate Mach-O object file format processing */ |
|||
#define OBJ_MACH_O 1 |
|||
|
|||
#include "targ-cpu.h" |
|||
|
|||
#define OUTPUT_FLAVOR bfd_target_mach_o_flavour |
|||
|
|||
extern const pseudo_typeS mach_o_pseudo_table[]; |
|||
|
|||
#ifndef obj_pop_insert |
|||
#define obj_pop_insert() pop_insert (mach_o_pseudo_table) |
|||
#endif |
|||
|
|||
#define obj_sec_sym_ok_for_reloc(SEC) 1 |
|||
|
|||
#define obj_read_begin_hook() {;} |
|||
#define obj_symbol_new_hook(s) {;} |
|||
|
|||
#define EMIT_SECTION_SYMBOLS 0 |
|||
Loading…
Reference in new issue