diff options
author | Fred Fish <fnf@be.com> | 2000-08-02 07:04:33 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-08-02 03:04:33 -0400 |
commit | a7a4fd1776384e896797de1f06773ca1e7e908d4 (patch) | |
tree | 571f9b18caed431107bfc65bedb29603f17ccb26 /gcc/config/i386/beos-elf.h | |
parent | b53978a3ee3998863c0f942b9b4c40d0e36d2bc7 (diff) | |
download | gcc-a7a4fd1776384e896797de1f06773ca1e7e908d4.zip gcc-a7a4fd1776384e896797de1f06773ca1e7e908d4.tar.gz gcc-a7a4fd1776384e896797de1f06773ca1e7e908d4.tar.bz2 |
beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o when user gives -p option.
* config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o
when user gives -p option. Add init_term_dyn.o for BeOS 5.0
and later.
* config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional
Be directories to search path.
Remove support for __declspec(dllimport) and __declspec(dllexport).
This is leftover cruft from the earlier BeOS gcc port when BeOS
used Microsoft's PE object file format.
* configure.in (i*86-*-beoself): Remove extra_objs=winnt.o.
* config/i386/t-beos (winnt.o): Remove Makefile frag.
* config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove.
(VALID_MACHINE_DECL_ATTRIBUTE): Remove.
(VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
(MERGE_MACHINE_DECL_ATTRIBUTES): Remove.
(REDO_SECTION_INFO_P): Remove.
(ASM_EXPORT_DECL): Remove.
(ASM_DECLARE_FUNCTION_NAME): Remove.
(ASM_DECLARE_OBJECT_NAME): Remove.
(ASM_OUTPUT_ALIGNED_COMMON): Remove.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove.
(ASM_OUTPUT_ALIGNED_LOCAL): Remove.
(STRIP_NAME_ENCODING): Remove.
Remove support for obsolete version of BeOS that is no longer
supported by Be.
* configure.in (i*86-*-beospe*): Remove.
* config/i386/beos-pe.h: Remove.
From-SVN: r35420
Diffstat (limited to 'gcc/config/i386/beos-elf.h')
-rw-r--r-- | gcc/config/i386/beos-elf.h | 159 |
1 files changed, 27 insertions, 132 deletions
diff --git a/gcc/config/i386/beos-elf.h b/gcc/config/i386/beos-elf.h index 3d72d02..a3588f0 100644 --- a/gcc/config/i386/beos-elf.h +++ b/gcc/config/i386/beos-elf.h @@ -128,7 +128,7 @@ Boston, MA 02111-1307, USA. */ #define LIBGCC_SPEC "" #undef STARTFILE_SPEC -#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart:start_dyn.o%s}" +#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart:start_dyn.o%s} init_term_dyn.o%s %{p:i386-mcount.o%s}" #undef ENDFILE_SPEC #define ENDFILE_SPEC "crtend.o%s crtn.o%s" @@ -157,133 +157,6 @@ Boston, MA 02111-1307, USA. */ else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)) #endif -/* - * Support for __declspec(dllimport) & __declspec(dllexport). - */ - -/* We don't care about dllimport. */ - -#define TARGET_NOP_FUN_DLLIMPORT 1 - -/* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS - is a valid machine specific attribute for DECL. - The attributes in ATTRIBUTES have previously been assigned to DECL. */ - -#undef VALID_MACHINE_DECL_ATTRIBUTE -#define VALID_MACHINE_DECL_ATTRIBUTE(DECL, ATTRIBUTES, IDENTIFIER, ARGS) \ - i386_pe_valid_decl_attribute_p (DECL, ATTRIBUTES, IDENTIFIER, ARGS) -extern int i386_pe_valid_decl_attribute_p (); - -/* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS - is a valid machine specific attribute for TYPE. - The attributes in ATTRIBUTES have previously been assigned to TYPE. */ - -#undef VALID_MACHINE_TYPE_ATTRIBUTE -#define VALID_MACHINE_TYPE_ATTRIBUTE(TYPE, ATTRIBUTES, IDENTIFIER, ARGS) \ - i386_pe_valid_type_attribute_p (TYPE, ATTRIBUTES, IDENTIFIER, ARGS) -extern int i386_pe_valid_type_attribute_p (); - -#define MERGE_MACHINE_DECL_ATTRIBUTES(OLD, NEW) \ - i386_pe_merge_decl_attributes ((OLD), (NEW)) -extern union tree_node *i386_pe_merge_decl_attributes (); - -/* Used to implement dllexport overriding dllimport semantics. It's also used - to handle vtables - the first pass won't do anything because - DECL_CONTEXT (DECL) will be 0 so i386_pe_dll{ex,im}port_p will return 0. - It's also used to handle dllimport override semantics. */ -#if 0 -#define REDO_SECTION_INFO_P(DECL) \ - ((DECL_MACHINE_ATTRIBUTES (DECL) != NULL_TREE) \ - || (TREE_CODE (DECL) == VAR_DECL && DECL_VIRTUAL_P (DECL))) -#else -#define REDO_SECTION_INFO_P(DECL) 1 -#endif - -/* Used only here locally. If the decl has been exported, emit the - necessary assembly. */ - -#define ASM_EXPORT_DECL(FILE, NAME, DECL) \ - do { \ - if ((DECL) && i386_pe_dllexport_p (DECL)) \ - { \ - fprintf ((FILE), ".section .exports\n"); \ - fprintf ((FILE), "\t%s\t\"", STRING_ASM_OP); \ - assemble_name (FILE, NAME); \ - fprintf ((FILE), "\"\n.previous\n"); \ - } \ - } while (0) - -/* Write the extra assembler code needed to declare a function properly. - Some svr4 assemblers need to also have something extra said about the - function's return value. We allow for that here. */ - -#undef ASM_DECLARE_FUNCTION_NAME -#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ - do { \ - ASM_EXPORT_DECL(FILE, NAME, DECL); \ - fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \ - assemble_name (FILE, NAME); \ - putc (',', FILE); \ - fprintf (FILE, TYPE_OPERAND_FMT, "function"); \ - putc ('\n', FILE); \ - ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \ - ASM_OUTPUT_LABEL(FILE, NAME); \ - } while (0) - -/* Write the extra assembler code needed to declare an object properly. */ - -#undef ASM_DECLARE_OBJECT_NAME -#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ - do { \ - ASM_EXPORT_DECL(FILE, NAME, DECL); \ - fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \ - assemble_name (FILE, NAME); \ - putc (',', FILE); \ - fprintf (FILE, TYPE_OPERAND_FMT, "object"); \ - putc ('\n', FILE); \ - size_directive_output = 0; \ - if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \ - { \ - size_directive_output = 1; \ - fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ - assemble_name (FILE, NAME); \ - putc (',', FILE); \ - fprintf (FILE, HOST_WIDE_INT_PRINT_DEC, \ - int_size_in_bytes (TREE_TYPE (DECL))); \ - fputc ('\n', FILE); \ - } \ - ASM_OUTPUT_LABEL(FILE, NAME); \ - } while (0) - -/* Similarly for COMMON symbols. */ - -#undef ASM_OUTPUT_ALIGNED_COMMON -#undef ASM_OUTPUT_ALIGNED_DECL_COMMON -#define ASM_OUTPUT_ALIGNED_DECL_COMMON(FILE, DECL, NAME, SIZE, ALIGN) \ - do { \ - ASM_EXPORT_DECL(FILE, NAME, DECL); \ - fprintf ((FILE), "\t%s\t", COMMON_ASM_OP); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), ",%u,%u\n", (SIZE), (ALIGN) / BITS_PER_UNIT); \ - } while (0) - -#undef ASM_OUTPUT_ALIGNED_LOCAL -#undef ASM_OUTPUT_ALIGNED_DECL_LOCAL -#define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN) \ - do { \ - fprintf ((FILE), "\t%s\t", LOCAL_ASM_OP); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), "\n"); \ - ASM_OUTPUT_ALIGNED_DECL_COMMON((FILE), (DECL), (NAME), (SIZE), (ALIGN)); \ - } while (0) - -/* This macro gets just the user-specified name out of the string in a - SYMBOL_REF. Discard trailing @[NUM] encoded by ENCODE_SECTION_INFO. */ -/* Unused except to let winnt.c compile. */ - -#undef STRIP_NAME_ENCODING -#define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) ((VAR) = (SYMBOL_NAME)) - /* For native compiler, use standard BeOS include file search paths rooted in /boot/develop/headers. For a cross compiler, don't expect the host to use the BeOS directory scheme, and instead look @@ -310,14 +183,25 @@ extern union tree_node *i386_pe_merge_decl_attributes (); { "/boot/develop/headers/be/kernel", 0, 0, 0 },\ { "/boot/develop/headers/be/net", 0, 0, 0 },\ { "/boot/develop/headers/be/midi", 0, 0, 0 },\ + { "/boot/develop/headers/be/midi2", 0, 0, 0 },\ { "/boot/develop/headers/be/media", 0, 0, 0 },\ { "/boot/develop/headers/be/interface", 0, 0, 0 },\ { "/boot/develop/headers/be/device", 0, 0, 0 },\ { "/boot/develop/headers/be/app", 0, 0, 0 },\ - { "/boot/develop/headers/cpp", 0, 0, 0 },\ - { "/boot/develop/headers/posix", 0, 0, 0 },\ { "/boot/develop/headers/be/precompiled", 0, 0, 0 },\ + { "/boot/develop/headers/be/add-ons/input_server", 0, 0, 0 },\ + { "/boot/develop/headers/be/add-ons/net_server", 0, 0, 0 },\ + { "/boot/develop/headers/be/add-ons/screen_saver", 0, 0, 0 },\ + { "/boot/develop/headers/be/add-ons/tracker", 0, 0, 0 },\ + { "/boot/develop/headers/be/be_apps/Deskbar", 0, 0, 0 },\ + { "/boot/develop/headers/be/be_apps/NetPositive", 0, 0, 0 },\ + { "/boot/develop/headers/be/be_apps/Tracker", 0, 0, 0 },\ + { "/boot/develop/headers/be/drivers/tty", 0, 0, 0 },\ + { "/boot/develop/headers/be/net/netinet", 0, 0, 0 },\ + { "/boot/develop/headers/be/storage", 0, 0, 0 },\ { "/boot/develop/headers/be", 0, 0, 0 },\ + { "/boot/develop/headers/cpp", 0, 0, 0 },\ + { "/boot/develop/headers/posix", 0, 0, 0 },\ { "/boot/develop/headers", 0, 0, 0 }, \ { 0, 0, 0, 0 } \ }; @@ -341,14 +225,25 @@ extern union tree_node *i386_pe_merge_decl_attributes (); { CROSS_INCLUDE_DIR "/be/kernel", 0, 0, 0 },\ { CROSS_INCLUDE_DIR "/be/net", 0, 0, 0 },\ { CROSS_INCLUDE_DIR "/be/midi", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/midi2", 0, 0, 0 },\ { CROSS_INCLUDE_DIR "/be/media", 0, 0, 0 },\ { CROSS_INCLUDE_DIR "/be/interface", 0, 0, 0 },\ { CROSS_INCLUDE_DIR "/be/device", 0, 0, 0 },\ { CROSS_INCLUDE_DIR "/be/app", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/cpp", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/posix", 0, 0, 0 },\ { CROSS_INCLUDE_DIR "/be/precompiled", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/add-ons/input_server", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/add-ons/net_server", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/add-ons/screen_saver", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/add-ons/tracker", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/be_apps/Deskbar", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/be_apps/NetPositive", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/be_apps/Tracker", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/drivers/tty", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/net/netinet", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/be/storage", 0, 0, 0 },\ { CROSS_INCLUDE_DIR "/be", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/cpp", 0, 0, 0 },\ + { CROSS_INCLUDE_DIR "/posix", 0, 0, 0 },\ { CROSS_INCLUDE_DIR , 0, 0, 0 }, \ { 0, 0, 0, 0 } \ }; |