From: Richard Henderson Date: Tue, 28 Jan 2003 23:04:02 +0000 (-0800) Subject: config.gcc (ia64*-*-aix*): Remove. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=021aa6ed6f65360decc1ddca0d74a44989b82cce;p=gcc.git config.gcc (ia64*-*-aix*): Remove. * config.gcc (ia64*-*-aix*): Remove. * config/ia64/aix.h, config/ia64/t-aix: Remove file. * config/ia64/unwind-aix.c: Remove file. From-SVN: r62043 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8082fcde6a2..fdccdbbcfe4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-01-28 Richard Henderson + + * config.gcc (ia64*-*-aix*): Remove. + * config/ia64/aix.h, config/ia64/t-aix: Remove file. + * config/ia64/unwind-aix.c: Remove file. + 2003-01-28 Andreas Schwab * config/m68k/m68k.md (tablejump+2): Don't sign extend an address diff --git a/gcc/config.gcc b/gcc/config.gcc index b287bd32afa..f839ba94c44 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1382,12 +1382,6 @@ i960-*-*) # Default i960 environment. c_target_objs="i960-c.o" cxx_target_objs="i960-c.o" ;; -ia64*-*-aix*) - tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/aix.h" - tmake_file="ia64/t-ia64 ia64/t-aix" - target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" - extra_parts="crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o" - ;; ia64*-*-elf*) tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h" tmake_file="ia64/t-ia64" diff --git a/gcc/config/ia64/aix.h b/gcc/config/ia64/aix.h deleted file mode 100644 index 5eb2334cb6a..00000000000 --- a/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/gcc/config/ia64/t-aix b/gcc/config/ia64/t-aix deleted file mode 100644 index 7b6df46a5d0..00000000000 --- a/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/gcc/config/ia64/unwind-aix.c b/gcc/config/ia64/unwind-aix.c deleted file mode 100644 index 7e594060f3e..00000000000 --- a/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 - - 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 -#include -#include - -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; -}