diff options
author | kan <kan@FreeBSD.org> | 2004-08-12 16:41:42 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2004-08-12 16:41:42 +0000 |
commit | d42790ccc00a70f00d10a3b8f17967a5b396bd4d (patch) | |
tree | 05895ca3fdba11097afd624bf6f64962995c416e /contrib/gcc/config/ia64 | |
parent | d42b9316c71d1b89b1b05d36be366eadf7bd8cdf (diff) | |
download | FreeBSD-src-d42790ccc00a70f00d10a3b8f17967a5b396bd4d.zip FreeBSD-src-d42790ccc00a70f00d10a3b8f17967a5b396bd4d.tar.gz |
Remove files that are not part of GCC 3.4.x from the vendor branch.
Diffstat (limited to 'contrib/gcc/config/ia64')
-rw-r--r-- | contrib/gcc/config/ia64/aix.h | 159 | ||||
-rw-r--r-- | contrib/gcc/config/ia64/hpux_longdouble.h | 99 | ||||
-rw-r--r-- | contrib/gcc/config/ia64/t-aix | 15 | ||||
-rw-r--r-- | contrib/gcc/config/ia64/unwind-aix.c | 120 |
4 files changed, 0 insertions, 393 deletions
diff --git a/contrib/gcc/config/ia64/aix.h b/contrib/gcc/config/ia64/aix.h deleted file mode 100644 index 5eb2334..0000000 --- a/contrib/gcc/config/ia64/aix.h +++ /dev/null @@ -1,159 +0,0 @@ -/* Definitions of target machine GNU compiler. IA-64/AIX version. - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - Contributed by Timothy Wall (twall@cygnus.com) - -This file is part of GNU CC. - -GNU CC 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 2, or (at your option) -any later version. - -GNU CC 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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* AIX5 (aka Monterey): a mix of AIX and UnixWare. - This file is loosely based on ia64/linux.h. */ - -/* This macro is a C statement to print on `stderr' a string describing the - particular machine description choice. */ - -#define TARGET_VERSION fprintf (stderr, " (IA-64) AIX"); - -#undef ASM_APP_ON -#define ASM_APP_ON "#APP\n" - -#undef ASM_APP_OFF -#define ASM_APP_OFF "#NO_APP\n" - -#define SET_ASM_OP "\t.set\t" - -#undef MD_EXEC_PREFIX -#undef MD_STARTFILE_PREFIX -#define MD_STARTFILE_PREFIX "/usr/lib/ia64l64/" - -/* Output at beginning of assembler file. */ -/* The .file command should always begin the output. */ -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) \ - do { \ - output_file_directive (FILE, main_input_filename); \ - fprintf (FILE, "\t.version\t\"01.01\"\n"); \ - } while (0) - -/* Provide a STARTFILE_SPEC appropriate for AIX. Here we add - the crti C++ startup files file which provide part of the support - for getting C++ file-scope static object constructed before entering - `main'. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ -"%{!shared: \ - %{pg:gcrt1_64.o%s} %{!pg:%{p:mcrt1_64.o%s} \ - %{!p:%{profile:gcrt1_64.o%s} \ - %{!profile:crt1_64.o%s}}}} \ - crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" - -/* Provide a ENDFILE_SPEC appropriate for AIX. Here we tack on - the crtn file which provides termination of the support for getting C++ - file-scope static object constructed before entering `main'. */ - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" - -/* Define this so we can compile MS code for use with WINE. */ -#define HANDLE_PRAGMA_PACK_PUSH_POP - -/* Target OS builtins. */ -#define TARGET_OS_CPP_BUILTINS() \ -do { \ - if (flag_iso) \ - builtin_define("_ANSI_C_SOURCE"); \ - builtin_define("_AIX"); \ - builtin_define("_AIX64"); \ - builtin_define("unix"); \ - builtin_assert("system=unix"); \ - builtin_assert("system=aix"); \ - builtin_define("__64BIT__"); \ - builtin_define("_LONG_LONG"); \ - builtin_define("_IA64"); \ - builtin_define("__int128=__size128_t"); \ - if (c_language == clk_cplusplus) \ - { \ - builtin_define("_XOPEN_SOURCE=500"); \ - builtin_define("_XOPEN_SOURCE_EXTENDED=1"); \ - builtin_define("_LARGE_FILE_API"); \ - builtin_define("_ALL_SOURCE"); \ - } \ -} while (0) - -/* A C string constant that tells the GNU CC driver program options to pass to - CPP. It can also specify how to translate options you give to GNU CC into - options for GNU CC to pass to the CPP. */ - -#undef CPP_SPEC -#define CPP_SPEC "\ -%{posix:-D_POSIX_SOURCE}" - -/* Define this for shared library support. */ - -#undef LINK_SPEC -#define LINK_SPEC "\ -%{shared:-shared} \ -%{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/lib/ia64l64/libc.so.1}} \ - %{static:-static}}" - -#define JMP_BUF_SIZE 85 - -/* A C statement or compound statement to output to FILE some assembler code to - call the profiling subroutine `mcount'. - - FIXME this is not supported until xlC supports it and can thus tell us - how to do it. -*/ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ -do { \ -} while (0) - -/* Tell the linker where to find the crt*.o files. */ - -#ifndef CROSS_COMPILE -#undef STANDARD_STARTFILE_PREFIX -#define STANDARD_STARTFILE_PREFIX "/usr/lib/ia64l64/" -#endif - -/* It is illegal to have relocations in shared segments on AIX. - Pretend flag_pic is always set. */ -#undef TARGET_ASM_SELECT_SECTION -#define TARGET_ASM_SELECT_SECTION ia64_rwreloc_select_section -#undef TARGET_ASM_UNIQUE_SECTION -#define TARGET_ASM_UNIQUE_SECTION ia64_rwreloc_unique_section -#undef TARGET_ASM_SELECT_RTX_SECTION -#define TARGET_ASM_SELECT_RTX_SECTION ia64_rwreloc_select_rtx_section - -/* Override ia64/sysv4.h setting with that used by AIX5. */ -#undef WCHAR_TYPE -#ifdef __64BIT__ -#define WCHAR_TYPE "unsigned int" -#else -#define WCHAR_TYPE "unsigned short" -#endif - -/* Define the `__builtin_va_list' type for AIX. Use char* b/c that's what the - system headers expect. */ -#define BUILD_VA_LIST_TYPE(VALIST) \ - (VALIST) = build_pointer_type(char_type_node) - -/* End of aix.h */ diff --git a/contrib/gcc/config/ia64/hpux_longdouble.h b/contrib/gcc/config/ia64/hpux_longdouble.h deleted file mode 100644 index 5333033..0000000 --- a/contrib/gcc/config/ia64/hpux_longdouble.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Definitions of long double support for GNU compiler. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. - -This file is part of GNU CC. - -GNU CC 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 2, or (at your option) -any later version. - -GNU CC 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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* We are using IEEE quad precision, not a double-extended with padding. */ -#undef INTEL_EXTENDED_IEEE_FORMAT -#define INTEL_EXTENDED_IEEE_FORMAT 0 - -/* Define library calls for quad FP operations. These are all part of the - IA32 and IA64 ABIs. */ - -#define ADDTF3_LIBCALL "_U_Qfadd" -#define SUBTF3_LIBCALL "_U_Qfsub" -#define MULTF3_LIBCALL "_U_Qfmpy" -#define DIVTF3_LIBCALL "_U_Qfdiv" -#define NEGTF2_LIBCALL "_U_Qfneg" -#define ABSTF2_LIBCALL "_U_Qfabs" -#define SMINTF3_LIBCALL "_U_Qfmin" -#define SMAXTF3_LIBCALL "_U_Qfmax" -#define EXTENDSFTF2_LIBCALL "_U_Qfcnvff_sgl_to_quad" -#define EXTENDDFTF2_LIBCALL "_U_Qfcnvff_dbl_to_quad" -#define TRUNCTFSF2_LIBCALL "_U_Qfcnvff_quad_to_sgl" -#define TRUNCTFDF2_LIBCALL "_U_Qfcnvff_quad_to_dbl" -#define FLOATSITF2_LIBCALL "_U_Qfcnvxf_sgl_to_quad" -#define FLOATDITF2_LIBCALL "_U_Qfcnvxf_dbl_to_quad" -#define FIX_TRUNCTFSI2_LIBCALL "_U_Qfcnvfxt_quad_to_sgl" -#define FIX_TRUNCTFDI2_LIBCALL "_U_Qfcnvfxt_quad_to_dbl" -#define FIXUNS_TRUNCTFSI2_LIBCALL "_U_Qfcnvfxut_quad_to_sgl" -#define FIXUNS_TRUNCTFDI2_LIBCALL "_U_Qfcnvfxut_quad_to_dbl" -#define EQTF2_LIBCALL "_U_Qfeq" -#define NETF2_LIBCALL "_U_Qfne" -#define GTTF2_LIBCALL "_U_Qfgt" -#define GETF2_LIBCALL "_U_Qfge" -#define LTTF2_LIBCALL "_U_Qflt" -#define LETF2_LIBCALL "_U_Qfle" - - -#undef INIT_TARGET_OPTABS -#define INIT_TARGET_OPTABS \ - do { \ - add_optab->handlers[(int) TFmode].libfunc \ - = gen_rtx_SYMBOL_REF (Pmode, ADDTF3_LIBCALL); \ - sub_optab->handlers[(int) TFmode].libfunc \ - = gen_rtx_SYMBOL_REF (Pmode, SUBTF3_LIBCALL); \ - smul_optab->handlers[(int) TFmode].libfunc \ - = gen_rtx_SYMBOL_REF (Pmode, MULTF3_LIBCALL); \ - sdiv_optab->handlers[(int) TFmode].libfunc \ - = gen_rtx_SYMBOL_REF (Pmode, DIVTF3_LIBCALL); \ - smin_optab->handlers[(int) TFmode].libfunc \ - = gen_rtx_SYMBOL_REF (Pmode, SMINTF3_LIBCALL); \ - smax_optab->handlers[(int) TFmode].libfunc \ - = gen_rtx_SYMBOL_REF (Pmode, SMAXTF3_LIBCALL); \ - abs_optab->handlers[(int) TFmode].libfunc \ - = gen_rtx_SYMBOL_REF (Pmode, ABSTF2_LIBCALL); \ - neg_optab->handlers[(int) TFmode].libfunc \ - = gen_rtx_SYMBOL_REF (Pmode, NEGTF2_LIBCALL); \ - extendsftf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, EXTENDSFTF2_LIBCALL); \ - extenddftf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, EXTENDDFTF2_LIBCALL); \ - trunctfsf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, TRUNCTFSF2_LIBCALL); \ - trunctfdf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, TRUNCTFDF2_LIBCALL); \ - floatsitf_libfunc = gen_rtx_SYMBOL_REF (Pmode, FLOATSITF2_LIBCALL); \ - floatditf_libfunc = gen_rtx_SYMBOL_REF (Pmode, FLOATDITF2_LIBCALL); \ - fixtfsi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIX_TRUNCTFSI2_LIBCALL);\ - fixtfdi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIX_TRUNCTFDI2_LIBCALL);\ - fixunstfsi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIXUNS_TRUNCTFSI2_LIBCALL); \ - fixunstfdi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIXUNS_TRUNCTFDI2_LIBCALL); \ - eqtf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, EQTF2_LIBCALL); \ - netf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, NETF2_LIBCALL); \ - gttf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, GTTF2_LIBCALL); \ - getf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, GETF2_LIBCALL); \ - lttf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, LTTF2_LIBCALL); \ - letf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, LETF2_LIBCALL); \ - \ - INIT_SUBTARGET_OPTABS; \ - } while (0) - -/* This is meant to be redefined in the host dependent files */ -#define INIT_SUBTARGET_OPTABS - -/* Nonzero if a floating point comparison library call for - mode MODE that will return a boolean value. Zero if one - of the libgcc2 functions is used. */ -#define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) ((MODE) == TFmode) diff --git a/contrib/gcc/config/ia64/t-aix b/contrib/gcc/config/ia64/t-aix deleted file mode 100644 index 7b6df46..0000000 --- a/contrib/gcc/config/ia64/t-aix +++ /dev/null @@ -1,15 +0,0 @@ -# AIX support - -# Compile crtbeginS.o and crtendS.o with pic. -CRTSTUFF_T_CFLAGS_S = -fPIC -# Compile libgcc2.a with pic and defines required by AIX headers -TARGET_LIBGCC2_CFLAGS = -fPIC -D__64BIT__ -D_LONG_LONG -D_IA64 -D__int128=__size128_t -LIB2ADDEH += $(srcdir)/config/ia64/unwind-aix.c - -# Assemble startup files. -crti.o: $(srcdir)/config/ia64/crti.asm $(GCC_PASSES) - $(GCC_FOR_TARGET) -c -o crti.o -x assembler $(srcdir)/config/ia64/crti.asm -crtn.o: $(srcdir)/config/ia64/crtn.asm $(GCC_PASSES) - $(GCC_FOR_TARGET) -c -o crtn.o -x assembler $(srcdir)/config/ia64/crtn.asm - -# end t-aix diff --git a/contrib/gcc/config/ia64/unwind-aix.c b/contrib/gcc/config/ia64/unwind-aix.c deleted file mode 100644 index 7e59406..0000000 --- a/contrib/gcc/config/ia64/unwind-aix.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Implements unwind table entry lookup for AIX (cf. fde-glibc.c). - Copyright (C) 2001, 2002 Free Software Foundation, Inc. - Contributed by Timothy Wall <twall@redhat.com> - - This file is part of GNU CC. - - GNU CC 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 2, or (at your option) - any later version. - - GNU CC 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 GNU CC; see the file COPYING. If not, write to - the Free Software Foundation, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#include "tconfig.h" -#include "tsystem.h" -#include "unwind.h" -#include "unwind-ia64.h" - -#include <dlfcn.h> -#include <link.h> -#include <sys/mman.h> - -static struct unw_table_entry * -find_fde_for_dso (Elf64_Addr pc, rt_link_map *map, - unsigned long* pseg_base, unsigned long* pgp) -{ - rt_segment *seg; - Elf64_Addr seg_base; - struct unw_table_entry *f_base; - size_t lo, hi; - - /* See if PC falls into one of the loaded segments. */ - for (seg = map->l_segments; seg; seg = (rt_segment *)seg->s_next) - { - if (pc >= seg->s_map_addr && pc < seg->s_map_addr + seg->s_mapsz) - break; - } - if (!seg) - return NULL; - - /* Search for the entry within the unwind table. */ - f_base = (struct unw_table_entry *) (map->l_unwind_table); - seg_base = (Elf64_Addr) seg->s_map_addr; - lo = 0; - hi = map->l_unwind_sz / sizeof (struct unw_table_entry); - - while (lo < hi) - { - size_t mid = (lo + hi) / 2; - struct unw_table_entry *f = f_base + mid; - - if (pc < f->start_offset + seg_base) - hi = mid; - else if (pc >= f->end_offset + seg_base) - lo = mid + 1; - else { - /* AIX executables are *always* dynamic. Look up GP for this - object. */ - Elf64_Dyn *dyn = map->l_ld; - *pgp = 0; - for (; dyn->d_tag != DT_NULL ; dyn++) - { - if (dyn->d_tag == DT_PLTGOT) - { - *pgp = dyn->d_un.d_ptr; - break; - } - } - *pseg_base = seg_base; - return f; - } - } - return NULL; -} - -/* Return a pointer to the unwind table entry for the function containing - PC. */ -struct unw_table_entry * -_Unwind_FindTableEntry (void *pc, unsigned long *pseg_base, unsigned long *pgp) -{ - extern rt_r_debug _r_debug; - struct unw_table_entry *ret; - rt_link_map *map = _r_debug.r_map; /* address of link map */ - - /* Check the main application first, hoping that most of the user's - code is there instead of in some library. */ - ret = find_fde_for_dso ((Elf64_Addr)pc, map, pseg_base, pgp); - if (ret) - { - /* If we're in the main application, use the current GP value. */ - register unsigned long gp __asm__("gp"); - *pgp = gp; - return ret; - } - - /* FIXME need a DSO lock mechanism for AIX here, to ensure shared - libraries aren't changed while we're examining them. */ - - for (map = _r_debug.r_map; map; map = map->l_next) - { - /* Skip the main application's entry. */ - if (!map->l_name) - continue; - ret = find_fde_for_dso ((Elf64_Addr)pc, map, pseg_base, pgp); - if (ret) - break; - } - - /* FIXME need a DSO unlock mechanism for AIX here. */ - - return ret; -} |