diff options
author | Tristan Gingold <gingold@adacore.com> | 2011-12-14 10:30:09 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2011-12-14 10:30:09 +0000 |
commit | a455111938d5abb9ed13004b040e831f836fdc23 (patch) | |
tree | 3270a4889e95c447ad07990bbe9930df36a82575 /gas/config/obj-macho.h | |
parent | d14c4eb72958ef9a46236ae8e2caea0388989a85 (diff) | |
download | gdb-a455111938d5abb9ed13004b040e831f836fdc23.zip gdb-a455111938d5abb9ed13004b040e831f836fdc23.tar.gz gdb-a455111938d5abb9ed13004b040e831f836fdc23.tar.bz2 |
bfd/
2011-12-14 Iain Sandoe <iains@gcc.gnu.org>
* mach-o-i386.c (text_section_names_xlat): New table.
(data_section_names_xlat): Likewise.
(import_section_names_xlat): Likewise.
(mach_o_i386_segsec_names_xlat): Likewise.
(bfd_mach_o_tgt_seg_table): Use new tables.
* mach-o-x86-64.c (bfd_mach_o_tgt_seg_table): Set NULL.
* mach-o.c (mach_o_section_name_xlat, mach_o_segment_name_xlat):
Move to mach-o.h as typedefs.
(text_section_names_xlat): Update for current GCC usage.
(data_section_names_xlat): Likewise.
(dwarf_section_names_xlat): Likewise.
(objc_section_names_xlat): New table.
(segsec_names_xlat): Add objc table.
(bfd_mach_o_normalize_section_name): Replace with...
(bfd_mach_o_section_data_for_mach_sect): New.
(bfd_mach_o_section_data_for_bfd_name): New.
(bfd_mach_o_section_data_for_bfd_name): Update to use additional data.
(bfd_mach_o_convert_section_name_to_mach_o): Likewise.
(bfd_mach_o_bfd_copy_private_section_data): Implement.
(bfd_mach_o_write_symtab): Write a zero-length string as the first entry
for compatibility with system tools.
(bfd_mach_o_build_commands): Update section alignment info.
(bfd_mach_o_new_section_hook): Use translation table data to define
default section flags, type, attributes and alignment, when available.
(bfd_mach_o_init_section_from_mach_o): Add TODO comment.
(bfd_mach_o_section_type_name): Add 'symbol_stubs'.
(bfd_mach_o_section_attribute_name): Add 'self_modifying_code'.
(bfd_mach_o_get_section_type_from_name): Change "not-found" return
value.
(bfd_mach_o_tgt_seg_table): Set default NULL.
* mach-o.h (bfd_mach_o_segment_command): Use define for name length.
(bfd_mach_o_backend_data): Move until after contents are defined.
(bfd_mach_o_normalize_section_name): Remove.
(bfd_mach_o_convert_section_name_to_bfd): Declare.
(mach_o_section_name_xlat): Declare.
(mach_o_segment_name_xlat): Declare.
(bfd_mach_o_section_data_for_mach_sect): Declare.
(bfd_mach_o_section_data_for_bfd_name): Declare.
include/
2011-12-14 Iain Sandoe <iains@gcc.gnu.org>
* mach-o/loader.h (bfd_mach_o_section_type): define
BFD_MACH_O_S_ATTR_NONE to 0.
gas/
2011-12-14 Iain Sandoe <iains@gcc.gnu.org>
* config/obj-macho.c: Add some more top-level comments.
(collect_16char_name): New.
(obj_mach_o_section): Amend to allow syntax compatible with existing system
tools. Use section translation data when available.
(obj_mach_o_segT_from_bfd_name): New.
(known_sections): Update.
(obj_mach_o_known_section): Use obj_mach_o_segT_from_bfd_name.
(objc_sections): New.
(obj_mach_o_objc_section): New.
(debug_sections): New.
(obj_mach_o_debug_section): New.
(tgt_sections): New.
(obj_mach_o_opt_tgt_section): New.
(obj_mach_o_base_section): New.
(obj_mach_o_common_parse): Update to create BSS on demand and to handle
lcomm optional alignment param.
(obj_mach_o_comm): Update parameter name.
(obj_mach_o_placeholder): New.
(mach_o_pseudo_table): Update for GCC section directives.
* config/obj-macho.h (_OBJ_MACH_O_H): New.
(USE_ALIGN_PTWO): Define.
(S_SET_ALIGN) Define.
Diffstat (limited to 'gas/config/obj-macho.h')
-rw-r--r-- | gas/config/obj-macho.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gas/config/obj-macho.h b/gas/config/obj-macho.h index d7e9bda..94c1cde 100644 --- a/gas/config/obj-macho.h +++ b/gas/config/obj-macho.h @@ -1,5 +1,5 @@ /* Mach-O object file format for gas, the assembler. - Copyright 2009 Free Software Foundation, Inc. + Copyright 2009, 2011 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -18,13 +18,29 @@ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ +#ifndef _OBJ_MACH_O_H +#define _OBJ_MACH_O_H + /* Tag to validate Mach-O object file format processing */ #define OBJ_MACH_O 1 +#include "bfd/mach-o.h" + #include "targ-cpu.h" #define OUTPUT_FLAVOR bfd_target_mach_o_flavour +/* All our align expressions are power of two. */ +#define USE_ALIGN_PTWO + +/* Common symbols can carry alignment information. */ +#ifndef S_SET_ALIGN +#define S_SET_ALIGN(S,V) do {\ + bfd_mach_o_asymbol *s = (bfd_mach_o_asymbol *) symbol_get_bfdsym (S);\ + s->n_desc = (s->n_desc & 0xf0ff) | (((V) & 0x0f) << 8);\ +} while (0) +#endif + extern const pseudo_typeS mach_o_pseudo_table[]; #ifndef obj_pop_insert @@ -37,3 +53,5 @@ extern const pseudo_typeS mach_o_pseudo_table[]; #define obj_symbol_new_hook(s) {;} #define EMIT_SECTION_SYMBOLS 0 + +#endif /* _OBJ_MACH_O_H */ |