summaryrefslogtreecommitdiffhomepage
path: root/ir/be/begnuas.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2010-02-03 20:31:48 +0100
committerMatthias Braun <matze@braunis.de>2010-02-03 20:31:48 +0100
commit2bc2dd4bd4f64982e9c5d2f1ea70d63d0eb10044 (patch)
treeb48399bfd36ad9c2493696af61e315f192e5e7c6 /ir/be/begnuas.h
parent6b689655e2513b332d2b0e4020477ccf00a69a6b (diff)
Rework linkage types in firm.
- Merge stickyness, visibility and variability into ir_linkage - Add proper support for common symbols, weak symbols and C++ COMDAT stuff - Mark OO-features type_visibility, peculiarity and allocation as deprecated OO feature will be separated from firm core into higher levels in the long run - Rework, simplify and fix bugs in begnuas.c [r27030]
Diffstat (limited to 'ir/be/begnuas.h')
-rw-r--r--ir/be/begnuas.h31
1 files changed, 12 insertions, 19 deletions
diff --git a/ir/be/begnuas.h b/ir/be/begnuas.h
index 708d8ec..97660fe 100644
--- a/ir/be/begnuas.h
+++ b/ir/be/begnuas.h
@@ -31,14 +31,11 @@
#include "be.h"
#include "beemitter.h"
-/**
- * Sections.
- */
typedef enum section_t {
- GAS_SECTION_TEXT, /**< text section */
- GAS_SECTION_DATA, /**< data section */
- GAS_SECTION_RODATA, /**< rodata section */
- GAS_SECTION_COMMON, /**< common section */
+ GAS_SECTION_TEXT, /**< text section - contains program code */
+ GAS_SECTION_DATA, /**< data section - contains arbitrary data */
+ GAS_SECTION_RODATA, /**< rodata section - contains read-only data */
+ GAS_SECTION_BSS, /**< bss section - contains uninitialized data */
GAS_SECTION_TLS, /**< thread local storage section */
GAS_SECTION_CONSTRUCTORS, /**< ctors section */
GAS_SECTION_DESTRUCTORS, /**< dtors section */
@@ -48,20 +45,16 @@ typedef enum section_t {
GAS_SECTION_LAST = GAS_SECTION_PIC_SYMBOLS
} be_gas_section_t;
-/**
- * Support for some GAS "dialects".
- */
-typedef enum asm_flavour_t {
- GAS_FLAVOUR_ELF, /**< ELF variant */
- GAS_FLAVOUR_MINGW, /**< MinGW variant (no-ELF) */
- GAS_FLAVOUR_YASM, /**< YASM GNU parser */
- GAS_FLAVOUR_MACH_O, /**< Mach-O variant (as found on darwin, OS/X) */
- GAS_FLAVOUR_LAST = GAS_FLAVOUR_MACH_O
-} be_gas_flavour_t;
+typedef enum object_file_format_t {
+ OBJECT_FILE_FORMAT_ELF, /**< Executable and Linkable Format (unixes) */
+ OBJECT_FILE_FORMAT_COFF, /**< Common Object File Format (Windows) */
+ OBJECT_FILE_FORMAT_MACH_O, /**< Mach Object File Format (OS/X) */
+ OBJECT_FILE_FORMAT_LAST = OBJECT_FILE_FORMAT_MACH_O
+} object_file_format_t;
/** The variable where the GAS dialect is stored. */
-extern be_gas_flavour_t be_gas_flavour;
-extern bool be_gas_emit_types;
+extern object_file_format_t be_gas_object_file_format;
+extern bool be_gas_emit_types;
/**
* the .type directive needs to specify @function, #function or %function
* depending on the target architecture (yay)