Rename all relevant stuff in gcc to akaros
authorKevin Klues <klueska@cs.berkeley.edu>
Fri, 17 Oct 2014 03:12:23 +0000 (20:12 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 31 Dec 2014 18:03:07 +0000 (13:03 -0500)
This is the first step in migrating our cross compiler over to cross
tools.

For default compiler defines, I left __ros__ and friends in there for
the moment.  We should probably phase this out over time.

31 files changed:
tools/compilers/gcc-glibc/gcc-4.6.1-ros/config.sub
tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config.gcc
tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/akaros.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/akaros.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/akaros64.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/ros.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/ros64.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/ros.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgcc/config.host
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgo/configure
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgo/configure.ac
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/bar.c [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/bar.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/libgomp_futex.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/wait.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/bar.c [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/bar.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/libgomp_futex.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/wait.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/configure.tgt
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_base.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_inline.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_noninline.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/os_defines.h [new file with mode: 0644]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_base.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_inline.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_noninline.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/os_defines.h [deleted file]
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/configure
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/configure.host
tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/crossconfig.m4

index 7c60d7c..90c8bb9 100755 (executable)
@@ -126,7 +126,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | akaros-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
@@ -1297,7 +1297,7 @@ case $os in
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
              | -sym* | -kopensolaris* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* | -ros* \
+             | -aos* | -aros* | -akaros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
index 16e3925..8121f2d 100644 (file)
@@ -699,7 +699,7 @@ case ${target} in
   default_use_cxa_atexit=yes
   use_gcc_stdint=wrap
   ;;
-*-*-ros*)
+*-*-akaros*)
   tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
   default_use_cxa_atexit=yes
@@ -1218,19 +1218,19 @@ x86_64-*-elf*)
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
        tmake_file="${tmake_file} i386/t-i386elf t-svr4"
        ;;
-i[34567]86-*-ros*)
-       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h gnu-user.h ros.h i386/ros.h"
+i[34567]86-*-akaros*)
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h gnu-user.h akaros.h i386/akaros.h"
        tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
        tmake_file="${tmake_file} t-slibgcc-elf-ver t-linux i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
        ;;
-x86_64-*-ros*)
-       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h ros.h glibc-stdint.h i386/x86-64.h i386/ros64.h"
+x86_64-*-akaros*)
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h akaros.h glibc-stdint.h i386/x86-64.h i386/akaros64.h"
        default_gnu_indirect_function=glibc-2011
        tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
        tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
        ;;
-riscv*-*-ros*)
-       tm_file="dbxelf.h elfos.h gnu-user.h ros.h ${tm_file} riscv/ros.h riscv/ros64.h glibc-stdint.h"
+riscv*-*-akaros*)
+       tm_file="dbxelf.h elfos.h gnu-user.h akaros.h ${tm_file} riscv/akaros.h riscv/akaros64.h glibc-stdint.h"
        tmake_file="${tmake_file} t-slibgcc-elf-ver t-linux"
        ;;
 i[34567]86-*-freebsd*)
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/akaros.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/akaros.h
new file mode 100644 (file)
index 0000000..e803ac3
--- /dev/null
@@ -0,0 +1,47 @@
+/* Definitions for systems using the Linux kernel, with or without
+   MMU, using ELF at the compiler level but possibly FLT for final
+   linked executables and shared libraries in some no-MMU cases, and
+   possibly with a choice of libc implementations.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2006,
+   2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Contributed by Eric Youngdale.
+   Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org).
+
+This file is part of GCC.
+
+GCC 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 3, or (at your option)
+any later version.
+
+GCC 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.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
+
+#define ROS_TARGET_OS_CPP_BUILTINS()                           \
+    do {                                                       \
+       builtin_define ("__gnu_akaros__");                      \
+       builtin_define ("__gnu_ros__");                 \
+       builtin_define_std ("akaros");                          \
+       builtin_define_std ("ros");                             \
+       builtin_define_std ("unix");                            \
+       builtin_assert ("system=akaros");                       \
+       builtin_assert ("system=ros");                  \
+       builtin_assert ("system=unix");                         \
+       builtin_assert ("system=posix");                        \
+    } while (0)
+
+#undef LINK_GCC_C_SEQUENCE_SPEC
+#define LINK_GCC_C_SEQUENCE_SPEC \
+  "--whole-archive -lparlib --no-whole-archive " \
+  "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/akaros.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/akaros.h
new file mode 100644 (file)
index 0000000..9874f29
--- /dev/null
@@ -0,0 +1,213 @@
+/* Definitions for Intel 386 running Linux-based GNU systems with ELF format.
+   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2004, 2005,
+   2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Contributed by Eric Youngdale.
+   Modified for stabs-in-ELF by H.J. Lu.
+
+This file is part of GCC.
+
+GCC 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 3, or (at your option)
+any later version.
+
+GCC 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 GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+/* Output at beginning of assembler file.  */
+/* The .file command should always begin the output.  */
+#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
+
+#define TARGET_VERSION fprintf (stderr, " (i386 AKAROS/ELF)");
+
+/* The svr4 ABI for the i386 says that records and unions are returned
+   in memory.  */
+#undef DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 1
+
+/* We arrange for the whole %gs segment to map the tls area.  */
+#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
+#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
+
+#undef ASM_COMMENT_START
+#define ASM_COMMENT_START "#"
+
+#undef DBX_REGISTER_NUMBER
+#define DBX_REGISTER_NUMBER(n) \
+  (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
+
+/* Output assembler code to FILE to call the profiler.
+   To the best of my knowledge, no Linux libc has required the label
+   argument to mcount.  */
+
+#define NO_PROFILE_COUNTERS    1
+
+#undef MCOUNT_NAME
+#define MCOUNT_NAME "mcount"
+
+/* The GLIBC version of mcount for the x86 assumes that there is a
+   frame, so we cannot allow profiling without a frame pointer.  */
+
+#undef SUBTARGET_FRAME_POINTER_REQUIRED
+#define SUBTARGET_FRAME_POINTER_REQUIRED crtl->profile
+
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+  
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "long int"
+   
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE BITS_PER_WORD
+    
+#define TARGET_OS_CPP_BUILTINS()               \
+  do                                           \
+    {                                          \
+       ROS_TARGET_OS_CPP_BUILTINS();           \
+    }                                          \
+  while (0)
+
+#undef CPP_SPEC
+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+
+#undef CC1_SPEC
+#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
+
+/* Provide a LINK_SPEC appropriate for Linux.  Here we provide support
+   for the special GCC options -static and -shared, which allow us to
+   link things in one of these three modes by applying the appropriate
+   combinations of options at link-time.
+
+   When the -shared link option is used a final link is not being
+   done.  */
+
+/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
+#define LINK_EMULATION "elf_i386"
+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+
+#undef  ASM_SPEC
+#define ASM_SPEC \
+  "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
+
+#undef  SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS \
+  { "link_emulation", LINK_EMULATION },\
+  { "dynamic_linker", GLIBC_DYNAMIC_LINKER }
+
+#undef LINK_SPEC
+#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+  %{!shared: \
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      -dynamic-linker %(dynamic_linker)} \
+      %{static:-static}}"
+
+/* Similar to standard Linux, but adding -ffast-math support.  */
+#undef  ENDFILE_SPEC
+#define ENDFILE_SPEC \
+  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+   %{mpc32:crtprec32.o%s} \
+   %{mpc64:crtprec64.o%s} \
+   %{mpc80:crtprec80.o%s} \
+   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+
+/* A C statement (sans semicolon) to output to the stdio stream
+   FILE the assembler definition of uninitialized global DECL named
+   NAME whose size is SIZE bytes and alignment is ALIGN bytes.
+   Try to use asm_output_aligned_bss to implement this macro.  */
+
+#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
+  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
+
+/* A C statement to output to the stdio stream FILE an assembler
+   command to advance the location counter to a multiple of 1<<LOG
+   bytes if it is within MAX_SKIP bytes.
+
+   This is used to align code labels according to Intel recommendations.  */
+
+#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
+#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP)                   \
+  do {                                                                 \
+    if ((LOG) != 0) {                                                  \
+      if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
+      else {                                                           \
+       fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));     \
+       /* Make sure that we have at least 8 byte alignment if > 8 byte \
+          alignment is preferred.  */                                  \
+       if ((LOG) > 3                                                   \
+           && (1 << (LOG)) > ((MAX_SKIP) + 1)                          \
+           && (MAX_SKIP) >= 7)                                         \
+         fputs ("\t.p2align 3\n", (FILE));                             \
+      }                                                                        \
+    }                                                                  \
+  } while (0)
+#endif
+
+/* Handle special EH pointer encodings.  Absolute, pc-relative, and
+   indirect are handled automatically.  */
+#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
+  do {                                                                 \
+    if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel)                \
+      {                                                                        \
+        fputs (ASM_LONG, FILE);                        \
+        assemble_name (FILE, XSTR (ADDR, 0));                          \
+       fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
+        goto DONE;                                                     \
+      }                                                                        \
+  } while (0)
+
+/* Used by crtstuff.c to initialize the base of data-relative relocations.
+   These are GOT relative on x86, so return the pic register.  */
+#ifdef __PIC__
+#define CRT_GET_RFIB_DATA(BASE)                        \
+  {                                            \
+    register void *ebx_ __asm__("ebx");                \
+    BASE = ebx_;                               \
+  }
+#else
+#define CRT_GET_RFIB_DATA(BASE)                                                \
+  __asm__ ("call\t.LPR%=\n"                                            \
+          ".LPR%=:\n\t"                                                \
+          "pop{l}\t%0\n\t"                                             \
+          /* Due to a GAS bug, this cannot use EAX.  That encodes      \
+             smaller than the traditional EBX, which results in the    \
+             offset being off by one.  */                              \
+          "add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"              \
+                  "|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}"              \
+          : "=d"(BASE))
+#endif
+
+/* Put all *tf routines in libgcc.  */
+#undef LIBGCC2_HAS_TF_MODE
+#define LIBGCC2_HAS_TF_MODE 1
+#define LIBGCC2_TF_CEXT q
+#define TF_SIZE 113
+
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+
+/* The stack pointer needs to be moved while checking the stack.  */
+#define STACK_CHECK_MOVING_SP 1
+
+/* Static stack checking is supported by means of probes.  */
+#define STACK_CHECK_STATIC_BUILTIN 1
+
+/* This macro may be overridden in i386/k*bsd-gnu.h.  */
+#define REG_NAME(reg) reg
+
+#ifdef TARGET_LIBC_PROVIDES_SSP
+/* i386 glibc provides __stack_chk_guard in %gs:0x14.  */
+#define TARGET_THREAD_SSP_OFFSET       0x14
+
+/* We steal the last transactional memory word.  */
+#define TARGET_CAN_SPLIT_STACK
+#define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
+#endif
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/akaros64.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/akaros64.h
new file mode 100644 (file)
index 0000000..a84bc57
--- /dev/null
@@ -0,0 +1,136 @@
+/* Definitions for AMD x86-64 running Linux-based GNU systems with ELF format.
+   Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+   Free Software Foundation, Inc.
+   Contributed by Jan Hubicka <jh@suse.cz>, based on linux.h.
+
+This file is part of GCC.
+
+GCC 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 3, or (at your option)
+any later version.
+
+GCC 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.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
+
+#if TARGET_64BIT_DEFAULT
+#define TARGET_VERSION fprintf (stderr, " (x86-64 AKAROS/ELF)");
+#else
+#define TARGET_VERSION fprintf (stderr, " (i386 AKAROS/ELF)");
+#endif
+
+#define TARGET_OS_CPP_BUILTINS()                               \
+  do                                                           \
+    {                                                          \
+       ROS_TARGET_OS_CPP_BUILTINS();                           \
+    }                                                          \
+  while (0)
+
+#undef CPP_SPEC
+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+
+#undef CC1_SPEC
+#define CC1_SPEC "%(cc1_cpu) %{profile:-p} -mno-red-zone "
+
+/* The svr4 ABI for the i386 says that records and unions are returned
+   in memory.  In the 64bit compilation we will turn this flag off in
+   ix86_option_override_internal, as we never do pcc_struct_return
+   scheme on this target.  */
+#undef DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 1
+
+/* We arrange for the whole %fs segment to map the tls area.  */
+#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
+#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
+
+/* Provide a LINK_SPEC.  Here we provide support for the special GCC
+   options -static and -shared, which allow us to link things in one
+   of these three modes by applying the appropriate combinations of
+   options at link-time.
+
+   When the -shared link option is used a final link is not being
+   done.  */
+
+/* The current LINKER settings will not work for multiarch.  We'll want to use
+ * lib64 and set up a more unique name.  Check out
+ * glibc-2.14.1-ros/sysdeps/unix/sysv/linux/configure and
+ * glibc-2.14.1-ros/shlib-versions for some starters. */
+#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-akaros.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
+
+#if TARGET_64BIT_DEFAULT
+#define SPEC_32 "m32"
+#define SPEC_64 "!m32"
+#else
+#define SPEC_32 "!m64"
+#define SPEC_64 "m64"
+#endif
+
+#undef ASM_SPEC
+#define ASM_SPEC "%{" SPEC_32 ":--32} %{" SPEC_64 ":--64} \
+ %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
+
+#undef LINK_SPEC
+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
+  %{shared:-shared} \
+  %{!shared: \
+    %{!static: \
+      %{rdynamic:-export-dynamic} \
+      %{" SPEC_32 ":-dynamic-linker " GLIBC_DYNAMIC_LINKER32 "} \
+      %{" SPEC_64 ":-dynamic-linker " GLIBC_DYNAMIC_LINKER64 "}} \
+    %{static:-static}}"
+
+/* Similar to standard Linux, but adding -ffast-math support.  */
+#undef  ENDFILE_SPEC
+#define ENDFILE_SPEC \
+  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+   %{mpc32:crtprec32.o%s} \
+   %{mpc64:crtprec64.o%s} \
+   %{mpc80:crtprec80.o%s} \
+   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+
+#if TARGET_64BIT_DEFAULT
+#define MULTILIB_DEFAULTS { "m64" }
+#else
+#define MULTILIB_DEFAULTS { "m32" }
+#endif
+
+/* Put all *tf routines in libgcc.  */
+#undef LIBGCC2_HAS_TF_MODE
+#define LIBGCC2_HAS_TF_MODE 1
+#define LIBGCC2_TF_CEXT q
+#define TF_SIZE 113
+
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+
+#define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h"
+
+/* The stack pointer needs to be moved while checking the stack.  */
+#define STACK_CHECK_MOVING_SP 1
+
+/* Static stack checking is supported by means of probes.  */
+#define STACK_CHECK_STATIC_BUILTIN 1
+
+/* This macro may be overridden in i386/k*bsd-gnu.h.  */
+#define REG_NAME(reg) reg
+
+#ifdef TARGET_LIBC_PROVIDES_SSP
+/* i386 glibc provides __stack_chk_guard in %gs:0x14,
+   x86_64 glibc provides it in %fs:0x28.  */
+#define TARGET_THREAD_SSP_OFFSET       (TARGET_64BIT ? 0x28 : 0x14)
+
+/* We steal the last transactional memory word.  */
+#define TARGET_CAN_SPLIT_STACK
+#define TARGET_THREAD_SPLIT_STACK_OFFSET (TARGET_64BIT ? 0x70 : 0x30)
+#endif
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/ros.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/ros.h
deleted file mode 100644 (file)
index 72c5619..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/* Definitions for Intel 386 running Linux-based GNU systems with ELF format.
-   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2004, 2005,
-   2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-   Contributed by Eric Youngdale.
-   Modified for stabs-in-ELF by H.J. Lu.
-
-This file is part of GCC.
-
-GCC 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 3, or (at your option)
-any later version.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
-
-#define TARGET_VERSION fprintf (stderr, " (i386 ROS/ELF)");
-
-/* The svr4 ABI for the i386 says that records and unions are returned
-   in memory.  */
-#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
-
-/* We arrange for the whole %gs segment to map the tls area.  */
-#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
-#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
-
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) \
-  (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
-
-/* Output assembler code to FILE to call the profiler.
-   To the best of my knowledge, no Linux libc has required the label
-   argument to mcount.  */
-
-#define NO_PROFILE_COUNTERS    1
-
-#undef MCOUNT_NAME
-#define MCOUNT_NAME "mcount"
-
-/* The GLIBC version of mcount for the x86 assumes that there is a
-   frame, so we cannot allow profiling without a frame pointer.  */
-
-#undef SUBTARGET_FRAME_POINTER_REQUIRED
-#define SUBTARGET_FRAME_POINTER_REQUIRED crtl->profile
-
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-  
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "long int"
-   
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE BITS_PER_WORD
-    
-#define TARGET_OS_CPP_BUILTINS()               \
-  do                                           \
-    {                                          \
-       ROS_TARGET_OS_CPP_BUILTINS();           \
-    }                                          \
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
-#undef CC1_SPEC
-#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
-
-/* Provide a LINK_SPEC appropriate for Linux.  Here we provide support
-   for the special GCC options -static and -shared, which allow us to
-   link things in one of these three modes by applying the appropriate
-   combinations of options at link-time.
-
-   When the -shared link option is used a final link is not being
-   done.  */
-
-/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
-#define LINK_EMULATION "elf_i386"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
-
-#undef  ASM_SPEC
-#define ASM_SPEC \
-  "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
-
-#undef  SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS \
-  { "link_emulation", LINK_EMULATION },\
-  { "dynamic_linker", GLIBC_DYNAMIC_LINKER }
-
-#undef LINK_SPEC
-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
-  %{!shared: \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
-      -dynamic-linker %(dynamic_linker)} \
-      %{static:-static}}"
-
-/* Similar to standard Linux, but adding -ffast-math support.  */
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC \
-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
-   %{mpc32:crtprec32.o%s} \
-   %{mpc64:crtprec64.o%s} \
-   %{mpc80:crtprec80.o%s} \
-   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
-
-/* A C statement (sans semicolon) to output to the stdio stream
-   FILE the assembler definition of uninitialized global DECL named
-   NAME whose size is SIZE bytes and alignment is ALIGN bytes.
-   Try to use asm_output_aligned_bss to implement this macro.  */
-
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-/* A C statement to output to the stdio stream FILE an assembler
-   command to advance the location counter to a multiple of 1<<LOG
-   bytes if it is within MAX_SKIP bytes.
-
-   This is used to align code labels according to Intel recommendations.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP)                   \
-  do {                                                                 \
-    if ((LOG) != 0) {                                                  \
-      if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
-      else {                                                           \
-       fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));     \
-       /* Make sure that we have at least 8 byte alignment if > 8 byte \
-          alignment is preferred.  */                                  \
-       if ((LOG) > 3                                                   \
-           && (1 << (LOG)) > ((MAX_SKIP) + 1)                          \
-           && (MAX_SKIP) >= 7)                                         \
-         fputs ("\t.p2align 3\n", (FILE));                             \
-      }                                                                        \
-    }                                                                  \
-  } while (0)
-#endif
-
-/* Handle special EH pointer encodings.  Absolute, pc-relative, and
-   indirect are handled automatically.  */
-#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
-  do {                                                                 \
-    if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel)                \
-      {                                                                        \
-        fputs (ASM_LONG, FILE);                        \
-        assemble_name (FILE, XSTR (ADDR, 0));                          \
-       fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
-        goto DONE;                                                     \
-      }                                                                        \
-  } while (0)
-
-/* Used by crtstuff.c to initialize the base of data-relative relocations.
-   These are GOT relative on x86, so return the pic register.  */
-#ifdef __PIC__
-#define CRT_GET_RFIB_DATA(BASE)                        \
-  {                                            \
-    register void *ebx_ __asm__("ebx");                \
-    BASE = ebx_;                               \
-  }
-#else
-#define CRT_GET_RFIB_DATA(BASE)                                                \
-  __asm__ ("call\t.LPR%=\n"                                            \
-          ".LPR%=:\n\t"                                                \
-          "pop{l}\t%0\n\t"                                             \
-          /* Due to a GAS bug, this cannot use EAX.  That encodes      \
-             smaller than the traditional EBX, which results in the    \
-             offset being off by one.  */                              \
-          "add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"              \
-                  "|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}"              \
-          : "=d"(BASE))
-#endif
-
-/* Put all *tf routines in libgcc.  */
-#undef LIBGCC2_HAS_TF_MODE
-#define LIBGCC2_HAS_TF_MODE 1
-#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
-
-#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-
-/* The stack pointer needs to be moved while checking the stack.  */
-#define STACK_CHECK_MOVING_SP 1
-
-/* Static stack checking is supported by means of probes.  */
-#define STACK_CHECK_STATIC_BUILTIN 1
-
-/* This macro may be overridden in i386/k*bsd-gnu.h.  */
-#define REG_NAME(reg) reg
-
-#ifdef TARGET_LIBC_PROVIDES_SSP
-/* i386 glibc provides __stack_chk_guard in %gs:0x14.  */
-#define TARGET_THREAD_SSP_OFFSET       0x14
-
-/* We steal the last transactional memory word.  */
-#define TARGET_CAN_SPLIT_STACK
-#define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
-#endif
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/ros64.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/i386/ros64.h
deleted file mode 100644 (file)
index bb9a05f..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Definitions for AMD x86-64 running Linux-based GNU systems with ELF format.
-   Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
-   Contributed by Jan Hubicka <jh@suse.cz>, based on linux.h.
-
-This file is part of GCC.
-
-GCC 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 3, or (at your option)
-any later version.
-
-GCC 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.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#if TARGET_64BIT_DEFAULT
-#define TARGET_VERSION fprintf (stderr, " (x86-64 ROS/ELF)");
-#else
-#define TARGET_VERSION fprintf (stderr, " (i386 ROS/ELF)");
-#endif
-
-#define TARGET_OS_CPP_BUILTINS()                               \
-  do                                                           \
-    {                                                          \
-       ROS_TARGET_OS_CPP_BUILTINS();                           \
-    }                                                          \
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
-#undef CC1_SPEC
-#define CC1_SPEC "%(cc1_cpu) %{profile:-p} -mno-red-zone "
-
-/* The svr4 ABI for the i386 says that records and unions are returned
-   in memory.  In the 64bit compilation we will turn this flag off in
-   ix86_option_override_internal, as we never do pcc_struct_return
-   scheme on this target.  */
-#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
-
-/* We arrange for the whole %fs segment to map the tls area.  */
-#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
-#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
-
-/* Provide a LINK_SPEC.  Here we provide support for the special GCC
-   options -static and -shared, which allow us to link things in one
-   of these three modes by applying the appropriate combinations of
-   options at link-time.
-
-   When the -shared link option is used a final link is not being
-   done.  */
-
-/* The current LINKER settings will not work for multiarch.  We'll want to use
- * lib64 and set up a more unique name.  Check out
- * glibc-2.14.1-ros/sysdeps/unix/sysv/linux/configure and
- * glibc-2.14.1-ros/shlib-versions for some starters. */
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-ros.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
-
-#if TARGET_64BIT_DEFAULT
-#define SPEC_32 "m32"
-#define SPEC_64 "!m32"
-#else
-#define SPEC_32 "!m64"
-#define SPEC_64 "m64"
-#endif
-
-#undef ASM_SPEC
-#define ASM_SPEC "%{" SPEC_32 ":--32} %{" SPEC_64 ":--64} \
- %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
-
-#undef LINK_SPEC
-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
-  %{shared:-shared} \
-  %{!shared: \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
-      %{" SPEC_32 ":-dynamic-linker " GLIBC_DYNAMIC_LINKER32 "} \
-      %{" SPEC_64 ":-dynamic-linker " GLIBC_DYNAMIC_LINKER64 "}} \
-    %{static:-static}}"
-
-/* Similar to standard Linux, but adding -ffast-math support.  */
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC \
-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
-   %{mpc32:crtprec32.o%s} \
-   %{mpc64:crtprec64.o%s} \
-   %{mpc80:crtprec80.o%s} \
-   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
-
-#if TARGET_64BIT_DEFAULT
-#define MULTILIB_DEFAULTS { "m64" }
-#else
-#define MULTILIB_DEFAULTS { "m32" }
-#endif
-
-/* Put all *tf routines in libgcc.  */
-#undef LIBGCC2_HAS_TF_MODE
-#define LIBGCC2_HAS_TF_MODE 1
-#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
-
-#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-
-#define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h"
-
-/* The stack pointer needs to be moved while checking the stack.  */
-#define STACK_CHECK_MOVING_SP 1
-
-/* Static stack checking is supported by means of probes.  */
-#define STACK_CHECK_STATIC_BUILTIN 1
-
-/* This macro may be overridden in i386/k*bsd-gnu.h.  */
-#define REG_NAME(reg) reg
-
-#ifdef TARGET_LIBC_PROVIDES_SSP
-/* i386 glibc provides __stack_chk_guard in %gs:0x14,
-   x86_64 glibc provides it in %fs:0x28.  */
-#define TARGET_THREAD_SSP_OFFSET       (TARGET_64BIT ? 0x28 : 0x14)
-
-/* We steal the last transactional memory word.  */
-#define TARGET_CAN_SPLIT_STACK
-#define TARGET_THREAD_SPLIT_STACK_OFFSET (TARGET_64BIT ? 0x70 : 0x30)
-#endif
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/ros.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/ros.h
deleted file mode 100644 (file)
index 6e45295..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Definitions for systems using the Linux kernel, with or without
-   MMU, using ELF at the compiler level but possibly FLT for final
-   linked executables and shared libraries in some no-MMU cases, and
-   possibly with a choice of libc implementations.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2006,
-   2007, 2009, 2010, 2011 Free Software Foundation, Inc.
-   Contributed by Eric Youngdale.
-   Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org).
-
-This file is part of GCC.
-
-GCC 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 3, or (at your option)
-any later version.
-
-GCC 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.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#define ROS_TARGET_OS_CPP_BUILTINS()                           \
-    do {                                                       \
-       builtin_define ("__gnu_ros__");                 \
-       builtin_define_std ("ros");                             \
-       builtin_define_std ("unix");                            \
-       builtin_assert ("system=ros");                  \
-       builtin_assert ("system=unix");                         \
-       builtin_assert ("system=posix");                        \
-    } while (0)
-
-#undef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC \
-  "--whole-archive -lparlib --no-whole-archive " \
-  "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
index 984d879..825c7ed 100644 (file)
@@ -162,7 +162,7 @@ case ${host} in
 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
   ;;
-*-*-ros*)
+*-*-akaros*)
   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
   ;;
 *-*-netbsd*)
@@ -300,13 +300,13 @@ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
        ;;
 i[34567]86-*-openbsd*)
        ;;
-riscv*-*-ros*)
+riscv*-*-akaros*)
        ;;
-i[34567]86-*-ros* | i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu*)
+i[34567]86-*-akaros* | i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu*)
        extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
        tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
        ;;
-x86_64-*-ros* | x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
+x86_64-*-akaros* | x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
        extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
        tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
        ;;
@@ -626,7 +626,7 @@ i[34567]86-*-darwin* | x86_64-*-darwin* | \
   i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
   i[34567]86-*-linux* | x86_64-*-linux* | \
   i[34567]86-*-gnu* | \
-  i[34567]86-*-ros* | \
+  i[34567]86-*-akaros* | \
   i[34567]86-*-solaris2* | \
   i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \
   i[34567]86-*-freebsd* | x86_64-*-freebsd*)
index fd52ee5..0bdd8d7 100644 (file)
@@ -13227,7 +13227,7 @@ case ${host} in
   *-*-darwin*)   is_darwin=yes;  GOOS=darwin ;;
   *-*-freebsd*)  is_freebsd=yes; GOOS=freebsd ;;
   *-*-linux*)    is_linux=yes;   GOOS=linux ;;
-  *-*-ros*)      is_akaros=yes;  GOOS=akaros ;;
+  *-*-akaros*)   is_akaros=yes;  GOOS=akaros ;;
   *-*-rtems*)    is_rtems=yes;   GOOS=rtems ;;
   *-*-solaris2*) is_solaris=yes; GOOS=solaris ;;
 esac
index effa461..023921c 100644 (file)
@@ -123,7 +123,7 @@ case ${host} in
   *-*-darwin*)   is_darwin=yes;  GOOS=darwin ;;
   *-*-freebsd*)  is_freebsd=yes; GOOS=freebsd ;;
   *-*-linux*)    is_linux=yes;   GOOS=linux ;;
-  *-*-ros*)      is_akaros=yes;  GOOS=akaros ;;
+  *-*-akaros*)   is_akaros=yes;  GOOS=akaros ;;
   *-*-rtems*)    is_rtems=yes;   GOOS=rtems ;;
   *-*-solaris2*) is_solaris=yes; GOOS=solaris ;;
 esac
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/bar.c b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/bar.c
new file mode 100644 (file)
index 0000000..3e0379e
--- /dev/null
@@ -0,0 +1,122 @@
+/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
+   Contributed by Richard Henderson <rth@redhat.com>.
+
+   This file is part of the GNU OpenMP Library (libgomp).
+
+   Libgomp 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 3, or (at your option)
+   any later version.
+
+   Libgomp 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.
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is a Linux specific implementation of a barrier synchronization
+   mechanism for libgomp.  This type is private to the library.  This 
+   implementation uses atomic instructions and the futex syscall.  */
+
+#include <limits.h>
+#include "wait.h"
+
+
+void
+gomp_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
+{
+  if (__builtin_expect ((state & 1) != 0, 0))
+    {
+      /* Next time we'll be awaiting TOTAL threads again.  */
+      bar->awaited = bar->total;
+      atomic_write_barrier ();
+      bar->generation += 4;
+      futex_wake ((int *) &bar->generation, INT_MAX);
+    }
+  else
+    {
+      unsigned int generation = state;
+
+      do
+       do_wait ((int *) &bar->generation, generation);
+      while (bar->generation == generation);
+    }
+}
+
+void
+gomp_barrier_wait (gomp_barrier_t *bar)
+{
+  gomp_barrier_wait_end (bar, gomp_barrier_wait_start (bar));
+}
+
+/* Like gomp_barrier_wait, except that if the encountering thread
+   is not the last one to hit the barrier, it returns immediately.
+   The intended usage is that a thread which intends to gomp_barrier_destroy
+   this barrier calls gomp_barrier_wait, while all other threads
+   call gomp_barrier_wait_last.  When gomp_barrier_wait returns,
+   the barrier can be safely destroyed.  */
+
+void
+gomp_barrier_wait_last (gomp_barrier_t *bar)
+{
+  gomp_barrier_state_t state = gomp_barrier_wait_start (bar);
+  if (state & 1)
+    gomp_barrier_wait_end (bar, state);
+}
+
+void
+gomp_team_barrier_wake (gomp_barrier_t *bar, int count)
+{
+  futex_wake ((int *) &bar->generation, count == 0 ? INT_MAX : count);
+}
+
+void
+gomp_team_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
+{
+  unsigned int generation;
+
+  if (__builtin_expect ((state & 1) != 0, 0))
+    {
+      /* Next time we'll be awaiting TOTAL threads again.  */
+      struct gomp_thread *thr = gomp_thread ();
+      struct gomp_team *team = thr->ts.team;
+      bar->awaited = bar->total;
+      atomic_write_barrier ();
+      if (__builtin_expect (team->task_count, 0))
+       {
+         gomp_barrier_handle_tasks (state);
+         state &= ~1;
+       }
+      else
+       {
+         bar->generation = state + 3;
+         futex_wake ((int *) &bar->generation, INT_MAX);
+         return;
+       }
+    }
+
+  generation = state;
+  do
+    {
+      do_wait ((int *) &bar->generation, generation);
+      if (__builtin_expect (bar->generation & 1, 0))
+       gomp_barrier_handle_tasks (state);
+      if ((bar->generation & 2))
+       generation |= 2;
+    }
+  while (bar->generation != state + 4);
+}
+
+void
+gomp_team_barrier_wait (gomp_barrier_t *bar)
+{
+  gomp_team_barrier_wait_end (bar, gomp_barrier_wait_start (bar));
+}
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/bar.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/bar.h
new file mode 100644 (file)
index 0000000..9c1a8a0
--- /dev/null
@@ -0,0 +1,118 @@
+/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
+   Contributed by Richard Henderson <rth@redhat.com>.
+
+   This file is part of the GNU OpenMP Library (libgomp).
+
+   Libgomp 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 3, or (at your option)
+   any later version.
+
+   Libgomp 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.
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is a Linux specific implementation of a barrier synchronization
+   mechanism for libgomp.  This type is private to the library.  This 
+   implementation uses atomic instructions and the futex syscall.  */
+
+#ifndef GOMP_BARRIER_H
+#define GOMP_BARRIER_H 1
+
+#include "mutex.h"
+
+typedef struct
+{
+  /* Make sure total/generation is in a mostly read cacheline, while
+     awaited in a separate cacheline.  */
+  unsigned total __attribute__((aligned (64)));
+  unsigned generation;
+  unsigned awaited __attribute__((aligned (64)));
+} gomp_barrier_t;
+typedef unsigned int gomp_barrier_state_t;
+
+static inline void gomp_barrier_init (gomp_barrier_t *bar, unsigned count)
+{
+  bar->total = count;
+  bar->awaited = count;
+  bar->generation = 0;
+}
+
+static inline void gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count)
+{
+  __sync_fetch_and_add (&bar->awaited, count - bar->total);
+  bar->total = count;
+}
+
+static inline void gomp_barrier_destroy (gomp_barrier_t *bar)
+{
+}
+
+extern void gomp_barrier_wait (gomp_barrier_t *);
+extern void gomp_barrier_wait_last (gomp_barrier_t *);
+extern void gomp_barrier_wait_end (gomp_barrier_t *, gomp_barrier_state_t);
+extern void gomp_team_barrier_wait (gomp_barrier_t *);
+extern void gomp_team_barrier_wait_end (gomp_barrier_t *,
+                                       gomp_barrier_state_t);
+extern void gomp_team_barrier_wake (gomp_barrier_t *, int);
+
+static inline gomp_barrier_state_t
+gomp_barrier_wait_start (gomp_barrier_t *bar)
+{
+  unsigned int ret = bar->generation & ~3;
+  /* Do we need any barrier here or is __sync_add_and_fetch acting
+     as the needed LoadLoad barrier already?  */
+  ret += __sync_add_and_fetch (&bar->awaited, -1) == 0;
+  return ret;
+}
+
+static inline bool
+gomp_barrier_last_thread (gomp_barrier_state_t state)
+{
+  return state & 1;
+}
+
+/* All the inlines below must be called with team->task_lock
+   held.  */
+
+static inline void
+gomp_team_barrier_set_task_pending (gomp_barrier_t *bar)
+{
+  bar->generation |= 1;
+}
+
+static inline void
+gomp_team_barrier_clear_task_pending (gomp_barrier_t *bar)
+{
+  bar->generation &= ~1;
+}
+
+static inline void
+gomp_team_barrier_set_waiting_for_tasks (gomp_barrier_t *bar)
+{
+  bar->generation |= 2;
+}
+
+static inline bool
+gomp_team_barrier_waiting_for_tasks (gomp_barrier_t *bar)
+{
+  return (bar->generation & 2) != 0;
+}
+
+static inline void
+gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
+{
+  bar->generation = (state & ~3) + 4;
+}
+
+#endif /* GOMP_BARRIER_H */
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/libgomp_futex.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/libgomp_futex.h
new file mode 100644 (file)
index 0000000..cc09b97
--- /dev/null
@@ -0,0 +1,55 @@
+/* Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+   Contributed by ARM Ltd.
+
+   This file is part of the GNU OpenMP Library (libgomp).
+
+   Libgomp 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 3, or (at your option)
+   any later version.
+
+   Libgomp 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.
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Provide target-specific access to the futex system call.  */
+
+/* The include file hierachy above us (wait.h) has pushed visibility
+   hidden, this will be applied to prototypes with headers we include
+   with the effect that we cannot link against an external function
+   (syscall). The solution here is to push default visibility, include
+   our required headers then reinstante the original visibility.  */
+
+#pragma GCC visibility push(default)
+#include <futex.h>     /* from parlib's pthread library */
+#pragma GCC visibility pop
+
+static inline void
+futex_wait (int *addr, int val)
+{
+  int ret = futex(addr, FUTEX_WAIT, val, NULL, NULL, 0);
+  assert(!ret);
+}
+
+static inline void
+futex_wake (int *addr, int count)
+{
+  int ret = futex(addr, FUTEX_WAKE, count, NULL, NULL, 0);
+  assert(!ret);
+}
+
+static inline void
+atomic_write_barrier (void)
+{
+  __sync_synchronize ();
+}
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/wait.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/akaros/wait.h
new file mode 100644 (file)
index 0000000..d5ee449
--- /dev/null
@@ -0,0 +1,58 @@
+/* Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
+   Contributed by Jakub Jelinek <jakub@redhat.com>.
+
+   This file is part of the GNU OpenMP Library (libgomp).
+
+   Libgomp 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 3, or (at your option)
+   any later version.
+
+   Libgomp 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.
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is a Linux specific implementation of a mutex synchronization
+   mechanism for libgomp.  This type is private to the library.  This
+   implementation uses atomic instructions and the futex syscall.  */
+
+#ifndef GOMP_WAIT_H
+#define GOMP_WAIT_H 1
+
+#include "libgomp.h"
+#include <errno.h>
+
+#ifdef HAVE_ATTRIBUTE_VISIBILITY
+# pragma GCC visibility push(hidden)
+#endif
+#include "libgomp_futex.h"
+
+static inline void do_wait (int *addr, int val)
+{
+  unsigned long long i, count = gomp_spin_count_var;
+
+  if (__builtin_expect (gomp_managed_threads > gomp_available_cpus, 0))
+    count = gomp_throttled_spin_count_var;
+  for (i = 0; i < count; i++)
+    if (__builtin_expect (*addr != val, 0))
+      return;
+    else
+      cpu_relax ();
+  futex_wait (addr, val);
+}
+
+#ifdef HAVE_ATTRIBUTE_VISIBILITY
+# pragma GCC visibility pop
+#endif
+
+#endif /* GOMP_WAIT_H */
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/bar.c b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/bar.c
deleted file mode 100644 (file)
index 3e0379e..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
-   Contributed by Richard Henderson <rth@redhat.com>.
-
-   This file is part of the GNU OpenMP Library (libgomp).
-
-   Libgomp 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 3, or (at your option)
-   any later version.
-
-   Libgomp 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.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This is a Linux specific implementation of a barrier synchronization
-   mechanism for libgomp.  This type is private to the library.  This 
-   implementation uses atomic instructions and the futex syscall.  */
-
-#include <limits.h>
-#include "wait.h"
-
-
-void
-gomp_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
-  if (__builtin_expect ((state & 1) != 0, 0))
-    {
-      /* Next time we'll be awaiting TOTAL threads again.  */
-      bar->awaited = bar->total;
-      atomic_write_barrier ();
-      bar->generation += 4;
-      futex_wake ((int *) &bar->generation, INT_MAX);
-    }
-  else
-    {
-      unsigned int generation = state;
-
-      do
-       do_wait ((int *) &bar->generation, generation);
-      while (bar->generation == generation);
-    }
-}
-
-void
-gomp_barrier_wait (gomp_barrier_t *bar)
-{
-  gomp_barrier_wait_end (bar, gomp_barrier_wait_start (bar));
-}
-
-/* Like gomp_barrier_wait, except that if the encountering thread
-   is not the last one to hit the barrier, it returns immediately.
-   The intended usage is that a thread which intends to gomp_barrier_destroy
-   this barrier calls gomp_barrier_wait, while all other threads
-   call gomp_barrier_wait_last.  When gomp_barrier_wait returns,
-   the barrier can be safely destroyed.  */
-
-void
-gomp_barrier_wait_last (gomp_barrier_t *bar)
-{
-  gomp_barrier_state_t state = gomp_barrier_wait_start (bar);
-  if (state & 1)
-    gomp_barrier_wait_end (bar, state);
-}
-
-void
-gomp_team_barrier_wake (gomp_barrier_t *bar, int count)
-{
-  futex_wake ((int *) &bar->generation, count == 0 ? INT_MAX : count);
-}
-
-void
-gomp_team_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
-  unsigned int generation;
-
-  if (__builtin_expect ((state & 1) != 0, 0))
-    {
-      /* Next time we'll be awaiting TOTAL threads again.  */
-      struct gomp_thread *thr = gomp_thread ();
-      struct gomp_team *team = thr->ts.team;
-      bar->awaited = bar->total;
-      atomic_write_barrier ();
-      if (__builtin_expect (team->task_count, 0))
-       {
-         gomp_barrier_handle_tasks (state);
-         state &= ~1;
-       }
-      else
-       {
-         bar->generation = state + 3;
-         futex_wake ((int *) &bar->generation, INT_MAX);
-         return;
-       }
-    }
-
-  generation = state;
-  do
-    {
-      do_wait ((int *) &bar->generation, generation);
-      if (__builtin_expect (bar->generation & 1, 0))
-       gomp_barrier_handle_tasks (state);
-      if ((bar->generation & 2))
-       generation |= 2;
-    }
-  while (bar->generation != state + 4);
-}
-
-void
-gomp_team_barrier_wait (gomp_barrier_t *bar)
-{
-  gomp_team_barrier_wait_end (bar, gomp_barrier_wait_start (bar));
-}
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/bar.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/bar.h
deleted file mode 100644 (file)
index 9c1a8a0..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
-   Contributed by Richard Henderson <rth@redhat.com>.
-
-   This file is part of the GNU OpenMP Library (libgomp).
-
-   Libgomp 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 3, or (at your option)
-   any later version.
-
-   Libgomp 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.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This is a Linux specific implementation of a barrier synchronization
-   mechanism for libgomp.  This type is private to the library.  This 
-   implementation uses atomic instructions and the futex syscall.  */
-
-#ifndef GOMP_BARRIER_H
-#define GOMP_BARRIER_H 1
-
-#include "mutex.h"
-
-typedef struct
-{
-  /* Make sure total/generation is in a mostly read cacheline, while
-     awaited in a separate cacheline.  */
-  unsigned total __attribute__((aligned (64)));
-  unsigned generation;
-  unsigned awaited __attribute__((aligned (64)));
-} gomp_barrier_t;
-typedef unsigned int gomp_barrier_state_t;
-
-static inline void gomp_barrier_init (gomp_barrier_t *bar, unsigned count)
-{
-  bar->total = count;
-  bar->awaited = count;
-  bar->generation = 0;
-}
-
-static inline void gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count)
-{
-  __sync_fetch_and_add (&bar->awaited, count - bar->total);
-  bar->total = count;
-}
-
-static inline void gomp_barrier_destroy (gomp_barrier_t *bar)
-{
-}
-
-extern void gomp_barrier_wait (gomp_barrier_t *);
-extern void gomp_barrier_wait_last (gomp_barrier_t *);
-extern void gomp_barrier_wait_end (gomp_barrier_t *, gomp_barrier_state_t);
-extern void gomp_team_barrier_wait (gomp_barrier_t *);
-extern void gomp_team_barrier_wait_end (gomp_barrier_t *,
-                                       gomp_barrier_state_t);
-extern void gomp_team_barrier_wake (gomp_barrier_t *, int);
-
-static inline gomp_barrier_state_t
-gomp_barrier_wait_start (gomp_barrier_t *bar)
-{
-  unsigned int ret = bar->generation & ~3;
-  /* Do we need any barrier here or is __sync_add_and_fetch acting
-     as the needed LoadLoad barrier already?  */
-  ret += __sync_add_and_fetch (&bar->awaited, -1) == 0;
-  return ret;
-}
-
-static inline bool
-gomp_barrier_last_thread (gomp_barrier_state_t state)
-{
-  return state & 1;
-}
-
-/* All the inlines below must be called with team->task_lock
-   held.  */
-
-static inline void
-gomp_team_barrier_set_task_pending (gomp_barrier_t *bar)
-{
-  bar->generation |= 1;
-}
-
-static inline void
-gomp_team_barrier_clear_task_pending (gomp_barrier_t *bar)
-{
-  bar->generation &= ~1;
-}
-
-static inline void
-gomp_team_barrier_set_waiting_for_tasks (gomp_barrier_t *bar)
-{
-  bar->generation |= 2;
-}
-
-static inline bool
-gomp_team_barrier_waiting_for_tasks (gomp_barrier_t *bar)
-{
-  return (bar->generation & 2) != 0;
-}
-
-static inline void
-gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
-  bar->generation = (state & ~3) + 4;
-}
-
-#endif /* GOMP_BARRIER_H */
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/libgomp_futex.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/libgomp_futex.h
deleted file mode 100644 (file)
index cc09b97..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 2010, 2011 Free Software Foundation, Inc.
-   Contributed by ARM Ltd.
-
-   This file is part of the GNU OpenMP Library (libgomp).
-
-   Libgomp 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 3, or (at your option)
-   any later version.
-
-   Libgomp 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.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Provide target-specific access to the futex system call.  */
-
-/* The include file hierachy above us (wait.h) has pushed visibility
-   hidden, this will be applied to prototypes with headers we include
-   with the effect that we cannot link against an external function
-   (syscall). The solution here is to push default visibility, include
-   our required headers then reinstante the original visibility.  */
-
-#pragma GCC visibility push(default)
-#include <futex.h>     /* from parlib's pthread library */
-#pragma GCC visibility pop
-
-static inline void
-futex_wait (int *addr, int val)
-{
-  int ret = futex(addr, FUTEX_WAIT, val, NULL, NULL, 0);
-  assert(!ret);
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
-  int ret = futex(addr, FUTEX_WAKE, count, NULL, NULL, 0);
-  assert(!ret);
-}
-
-static inline void
-atomic_write_barrier (void)
-{
-  __sync_synchronize ();
-}
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/wait.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libgomp/config/ros/wait.h
deleted file mode 100644 (file)
index d5ee449..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
-   Contributed by Jakub Jelinek <jakub@redhat.com>.
-
-   This file is part of the GNU OpenMP Library (libgomp).
-
-   Libgomp 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 3, or (at your option)
-   any later version.
-
-   Libgomp 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.
-
-   Under Section 7 of GPL version 3, you are granted additional
-   permissions described in the GCC Runtime Library Exception, version
-   3.1, as published by the Free Software Foundation.
-
-   You should have received a copy of the GNU General Public License and
-   a copy of the GCC Runtime Library Exception along with this program;
-   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This is a Linux specific implementation of a mutex synchronization
-   mechanism for libgomp.  This type is private to the library.  This
-   implementation uses atomic instructions and the futex syscall.  */
-
-#ifndef GOMP_WAIT_H
-#define GOMP_WAIT_H 1
-
-#include "libgomp.h"
-#include <errno.h>
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# pragma GCC visibility push(hidden)
-#endif
-#include "libgomp_futex.h"
-
-static inline void do_wait (int *addr, int val)
-{
-  unsigned long long i, count = gomp_spin_count_var;
-
-  if (__builtin_expect (gomp_managed_threads > gomp_available_cpus, 0))
-    count = gomp_throttled_spin_count_var;
-  for (i = 0; i < count; i++)
-    if (__builtin_expect (*addr != val, 0))
-      return;
-    else
-      cpu_relax ();
-  futex_wait (addr, val);
-}
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# pragma GCC visibility pop
-#endif
-
-#endif /* GOMP_WAIT_H */
index d037711..0e734ac 100644 (file)
@@ -116,8 +116,8 @@ case "${target}" in
        esac
        ;;
 
-  *-*-ros*)
-       config_path="ros posix"
+  *-*-akaros*)
+       config_path="akaros posix"
        ;;
 
   *-*-mingw32*)
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_base.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_base.h
new file mode 100644 (file)
index 0000000..72aa6f2
--- /dev/null
@@ -0,0 +1,59 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 1997, 1998, 1999, 2003, 2009, 2010
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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 3, or (at your option)
+// any later version.
+
+// This library 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.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+// <http://www.gnu.org/licenses/>.
+
+//
+// ISO C++ 14882: 22.1  Locales
+//
+
+// Default information, may not be appropriate for specific host.
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+  /// @brief  Base class for ctype.
+  struct ctype_base
+  {
+    // Non-standard typedefs.
+    typedef const int*                 __to_type;
+
+    // NB: Offsets into ctype<char>::_M_table force a particular size
+    // on the mask type. Because of this, we don't use an enum.
+    typedef unsigned int       mask;
+    static const mask upper            = 1 << 0;
+    static const mask lower    = 1 << 1;
+    static const mask alpha    = 1 << 2;
+    static const mask digit    = 1 << 3;
+    static const mask xdigit   = 1 << 4;
+    static const mask space    = 1 << 5;
+    static const mask print    = 1 << 6;
+    static const mask graph    = (1 << 2) | (1 << 3) | (1 << 9); // alnum|punct
+    static const mask cntrl    = 1 << 8;
+    static const mask punct    = 1 << 9;
+    static const mask alnum    = (1 << 2) | (1 << 3);  // alpha|digit
+  };
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_inline.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_inline.h
new file mode 100644 (file)
index 0000000..ae54f29
--- /dev/null
@@ -0,0 +1,168 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 2000, 2003, 2009, 2010 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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 3, or (at your option)
+// any later version.
+
+// This library 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.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+// <http://www.gnu.org/licenses/>.
+
+/** @file bits/ctype_inline.h
+ *  This is an internal header file, included by other library headers.
+ *  Do not attempt to use it directly. @headername{locale}
+ */
+
+//
+// ISO C++ 14882: 22.1  Locales
+//
+  
+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
+// functions go in ctype.cc
+  
+// The following definitions are portable, but insanely slow. If one
+// cares at all about performance, then specialized ctype
+// functionality should be added for the native os in question: see
+// the config/os/bits/ctype_*.h files.
+
+// Constructing a synthetic "C" table should be seriously considered...
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+  bool
+  ctype<char>::
+  is(mask __m, char __c) const
+  { 
+    if (_M_table)
+      return _M_table[static_cast<unsigned char>(__c)] & __m;
+    else
+      {
+       bool __ret = false;
+       const size_t __bitmasksize = 15; 
+       size_t __bitcur = 0; // Lowest bitmask in ctype_base == 0
+       for (; __bitcur <= __bitmasksize; ++__bitcur)
+         {
+           const mask __bit = static_cast<mask>(1 << __bitcur);
+           if (__m & __bit)
+             {
+               bool __testis;
+               switch (__bit)
+                 {
+                 case space:
+                   __testis = isspace(__c);
+                   break;
+                 case print:
+                   __testis = isprint(__c);
+                   break;
+                 case cntrl:
+                   __testis = iscntrl(__c);
+                   break;
+                 case upper:
+                   __testis = isupper(__c);
+                   break;
+                 case lower:
+                   __testis = islower(__c);
+                   break;
+                 case alpha:
+                   __testis = isalpha(__c);
+                   break;
+                 case digit:
+                   __testis = isdigit(__c);
+                   break;
+                 case punct:
+                   __testis = ispunct(__c);
+                   break;
+                 case xdigit:
+                   __testis = isxdigit(__c);
+                   break;
+                 case alnum:
+                   __testis = isalnum(__c);
+                   break;
+                 case graph:
+                   __testis = isgraph(__c);
+                   break;
+                 default:
+                   __testis = false;
+                   break;
+                 }
+               __ret |= __testis;
+             }
+         }
+       return __ret;
+      }
+  }
+   
+  const char*
+  ctype<char>::
+  is(const char* __low, const char* __high, mask* __vec) const
+  {
+    if (_M_table)
+      while (__low < __high)
+       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
+    else
+      {
+       // Highest bitmask in ctype_base == 10.
+       const size_t __bitmasksize = 15; 
+       for (;__low < __high; ++__vec, ++__low)
+         {
+           mask __m = 0;
+           // Lowest bitmask in ctype_base == 0
+           size_t __i = 0; 
+           for (;__i <= __bitmasksize; ++__i)
+             {
+               const mask __bit = static_cast<mask>(1 << __i);
+               if (this->is(__bit, *__low))
+                 __m |= __bit;
+             }
+           *__vec = __m;
+         }
+      }
+    return __high;
+  }
+
+  const char*
+  ctype<char>::
+  scan_is(mask __m, const char* __low, const char* __high) const
+  {
+    if (_M_table)
+      while (__low < __high
+            && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
+       ++__low;
+    else
+      while (__low < __high && !this->is(__m, *__low))
+       ++__low;
+    return __low;
+  }
+
+  const char*
+  ctype<char>::
+  scan_not(mask __m, const char* __low, const char* __high) const
+  {
+    if (_M_table)
+      while (__low < __high
+            && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
+       ++__low;
+    else
+      while (__low < __high && this->is(__m, *__low) != 0)
+       ++__low;
+    return __low;
+  }
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_noninline.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/ctype_noninline.h
new file mode 100644 (file)
index 0000000..3004589
--- /dev/null
@@ -0,0 +1,92 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2009, 2010
+//  Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library.  This library 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 3, or (at your option)
+// any later version.
+
+// This library 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.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+// <http://www.gnu.org/licenses/>.
+
+/** @file bits/ctype_noninline.h
+ *  This is an internal header file, included by other library headers.
+ *  Do not attempt to use it directly. @headername{locale}
+ */
+
+//
+// ISO C++ 14882: 22.1  Locales
+//
+  
+// Information as gleaned from /usr/include/ctype.h
+
+  const ctype_base::mask*
+  ctype<char>::classic_table() throw()
+  { return 0; }
+
+  ctype<char>::ctype(__c_locale, const mask* __table, bool __del, 
+                    size_t __refs) 
+  : facet(__refs), _M_del(__table != 0 && __del), 
+  _M_toupper(NULL), _M_tolower(NULL), 
+  _M_table(__table ? __table : classic_table()) 
+  { 
+    memset(_M_widen, 0, sizeof(_M_widen));
+    _M_widen_ok = 0;
+    memset(_M_narrow, 0, sizeof(_M_narrow));
+    _M_narrow_ok = 0;
+  }
+
+  ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) 
+  : facet(__refs), _M_del(__table != 0 && __del), 
+  _M_toupper(NULL), _M_tolower(NULL), 
+  _M_table(__table ? __table : classic_table())
+  { 
+    memset(_M_widen, 0, sizeof(_M_widen));
+    _M_widen_ok = 0;
+    memset(_M_narrow, 0, sizeof(_M_narrow));
+    _M_narrow_ok = 0;
+  }
+
+  char
+  ctype<char>::do_toupper(char __c) const
+  { return ::toupper((int) __c); }
+
+  const char*
+  ctype<char>::do_toupper(char* __low, const char* __high) const
+  {
+    while (__low < __high)
+      {
+       *__low = ::toupper((int) *__low);
+       ++__low;
+      }
+    return __high;
+  }
+
+  char
+  ctype<char>::do_tolower(char __c) const
+  { return ::tolower((int) __c); }
+
+  const char* 
+  ctype<char>::do_tolower(char* __low, const char* __high) const
+  {
+    while (__low < __high)
+      {
+       *__low = ::tolower((int) *__low);
+       ++__low;
+      }
+    return __high;
+  }
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/os_defines.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/akaros/os_defines.h
new file mode 100644 (file)
index 0000000..dbbfe05
--- /dev/null
@@ -0,0 +1,17 @@
+/** @file bits/os_defines.h
+ *  This is an internal header file, included by other library headers.
+ *  Do not attempt to use it directly. @headername{iosfwd}
+ */
+
+#ifndef _GLIBCXX_OS_DEFINES
+#define _GLIBCXX_OS_DEFINES 1
+
+/* Try to avoid ioctls in the c++ build - I don't plan on supporting them in
+ * the OS, and don't want a shim layer in glibc yet either. */
+#define _GLIBCXX_NO_IOCTL 1
+
+/* This is an alternate way to get showmanyc() to work, since we disabled the
+ * IOCTL style. */
+#define _GLIBCXX_HAVE_S_ISREG 1
+
+#endif /* _GLIBCXX_OS_DEFINES */
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_base.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_base.h
deleted file mode 100644 (file)
index 72aa6f2..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2003, 2009, 2010
-// Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library 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 3, or (at your option)
-// any later version.
-
-// This library 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.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-//
-// ISO C++ 14882: 22.1  Locales
-//
-
-// Default information, may not be appropriate for specific host.
-
-namespace std _GLIBCXX_VISIBILITY(default)
-{
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
-
-  /// @brief  Base class for ctype.
-  struct ctype_base
-  {
-    // Non-standard typedefs.
-    typedef const int*                 __to_type;
-
-    // NB: Offsets into ctype<char>::_M_table force a particular size
-    // on the mask type. Because of this, we don't use an enum.
-    typedef unsigned int       mask;
-    static const mask upper            = 1 << 0;
-    static const mask lower    = 1 << 1;
-    static const mask alpha    = 1 << 2;
-    static const mask digit    = 1 << 3;
-    static const mask xdigit   = 1 << 4;
-    static const mask space    = 1 << 5;
-    static const mask print    = 1 << 6;
-    static const mask graph    = (1 << 2) | (1 << 3) | (1 << 9); // alnum|punct
-    static const mask cntrl    = 1 << 8;
-    static const mask punct    = 1 << 9;
-    static const mask alnum    = (1 << 2) | (1 << 3);  // alpha|digit
-  };
-
-_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_inline.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_inline.h
deleted file mode 100644 (file)
index ae54f29..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2003, 2009, 2010 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library 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 3, or (at your option)
-// any later version.
-
-// This library 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.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file bits/ctype_inline.h
- *  This is an internal header file, included by other library headers.
- *  Do not attempt to use it directly. @headername{locale}
- */
-
-//
-// ISO C++ 14882: 22.1  Locales
-//
-  
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-  
-// The following definitions are portable, but insanely slow. If one
-// cares at all about performance, then specialized ctype
-// functionality should be added for the native os in question: see
-// the config/os/bits/ctype_*.h files.
-
-// Constructing a synthetic "C" table should be seriously considered...
-
-namespace std _GLIBCXX_VISIBILITY(default)
-{
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
-
-  bool
-  ctype<char>::
-  is(mask __m, char __c) const
-  { 
-    if (_M_table)
-      return _M_table[static_cast<unsigned char>(__c)] & __m;
-    else
-      {
-       bool __ret = false;
-       const size_t __bitmasksize = 15; 
-       size_t __bitcur = 0; // Lowest bitmask in ctype_base == 0
-       for (; __bitcur <= __bitmasksize; ++__bitcur)
-         {
-           const mask __bit = static_cast<mask>(1 << __bitcur);
-           if (__m & __bit)
-             {
-               bool __testis;
-               switch (__bit)
-                 {
-                 case space:
-                   __testis = isspace(__c);
-                   break;
-                 case print:
-                   __testis = isprint(__c);
-                   break;
-                 case cntrl:
-                   __testis = iscntrl(__c);
-                   break;
-                 case upper:
-                   __testis = isupper(__c);
-                   break;
-                 case lower:
-                   __testis = islower(__c);
-                   break;
-                 case alpha:
-                   __testis = isalpha(__c);
-                   break;
-                 case digit:
-                   __testis = isdigit(__c);
-                   break;
-                 case punct:
-                   __testis = ispunct(__c);
-                   break;
-                 case xdigit:
-                   __testis = isxdigit(__c);
-                   break;
-                 case alnum:
-                   __testis = isalnum(__c);
-                   break;
-                 case graph:
-                   __testis = isgraph(__c);
-                   break;
-                 default:
-                   __testis = false;
-                   break;
-                 }
-               __ret |= __testis;
-             }
-         }
-       return __ret;
-      }
-  }
-   
-  const char*
-  ctype<char>::
-  is(const char* __low, const char* __high, mask* __vec) const
-  {
-    if (_M_table)
-      while (__low < __high)
-       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-    else
-      {
-       // Highest bitmask in ctype_base == 10.
-       const size_t __bitmasksize = 15; 
-       for (;__low < __high; ++__vec, ++__low)
-         {
-           mask __m = 0;
-           // Lowest bitmask in ctype_base == 0
-           size_t __i = 0; 
-           for (;__i <= __bitmasksize; ++__i)
-             {
-               const mask __bit = static_cast<mask>(1 << __i);
-               if (this->is(__bit, *__low))
-                 __m |= __bit;
-             }
-           *__vec = __m;
-         }
-      }
-    return __high;
-  }
-
-  const char*
-  ctype<char>::
-  scan_is(mask __m, const char* __low, const char* __high) const
-  {
-    if (_M_table)
-      while (__low < __high
-            && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-       ++__low;
-    else
-      while (__low < __high && !this->is(__m, *__low))
-       ++__low;
-    return __low;
-  }
-
-  const char*
-  ctype<char>::
-  scan_not(mask __m, const char* __low, const char* __high) const
-  {
-    if (_M_table)
-      while (__low < __high
-            && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-       ++__low;
-    else
-      while (__low < __high && this->is(__m, *__low) != 0)
-       ++__low;
-    return __low;
-  }
-
-_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_noninline.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/ctype_noninline.h
deleted file mode 100644 (file)
index 3004589..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2009, 2010
-//  Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library 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 3, or (at your option)
-// any later version.
-
-// This library 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.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file bits/ctype_noninline.h
- *  This is an internal header file, included by other library headers.
- *  Do not attempt to use it directly. @headername{locale}
- */
-
-//
-// ISO C++ 14882: 22.1  Locales
-//
-  
-// Information as gleaned from /usr/include/ctype.h
-
-  const ctype_base::mask*
-  ctype<char>::classic_table() throw()
-  { return 0; }
-
-  ctype<char>::ctype(__c_locale, const mask* __table, bool __del, 
-                    size_t __refs) 
-  : facet(__refs), _M_del(__table != 0 && __del), 
-  _M_toupper(NULL), _M_tolower(NULL), 
-  _M_table(__table ? __table : classic_table()) 
-  { 
-    memset(_M_widen, 0, sizeof(_M_widen));
-    _M_widen_ok = 0;
-    memset(_M_narrow, 0, sizeof(_M_narrow));
-    _M_narrow_ok = 0;
-  }
-
-  ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) 
-  : facet(__refs), _M_del(__table != 0 && __del), 
-  _M_toupper(NULL), _M_tolower(NULL), 
-  _M_table(__table ? __table : classic_table())
-  { 
-    memset(_M_widen, 0, sizeof(_M_widen));
-    _M_widen_ok = 0;
-    memset(_M_narrow, 0, sizeof(_M_narrow));
-    _M_narrow_ok = 0;
-  }
-
-  char
-  ctype<char>::do_toupper(char __c) const
-  { return ::toupper((int) __c); }
-
-  const char*
-  ctype<char>::do_toupper(char* __low, const char* __high) const
-  {
-    while (__low < __high)
-      {
-       *__low = ::toupper((int) *__low);
-       ++__low;
-      }
-    return __high;
-  }
-
-  char
-  ctype<char>::do_tolower(char __c) const
-  { return ::tolower((int) __c); }
-
-  const char* 
-  ctype<char>::do_tolower(char* __low, const char* __high) const
-  {
-    while (__low < __high)
-      {
-       *__low = ::tolower((int) *__low);
-       ++__low;
-      }
-    return __high;
-  }
diff --git a/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/os_defines.h b/tools/compilers/gcc-glibc/gcc-4.6.1-ros/libstdc++-v3/config/os/ros/os_defines.h
deleted file mode 100644 (file)
index dbbfe05..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/** @file bits/os_defines.h
- *  This is an internal header file, included by other library headers.
- *  Do not attempt to use it directly. @headername{iosfwd}
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-/* Try to avoid ioctls in the c++ build - I don't plan on supporting them in
- * the OS, and don't want a shim layer in glibc yet either. */
-#define _GLIBCXX_NO_IOCTL 1
-
-/* This is an alternate way to get showmanyc() to work, since we disabled the
- * IOCTL style. */
-#define _GLIBCXX_HAVE_S_ISREG 1
-
-#endif /* _GLIBCXX_OS_DEFINES */
index 6d70a4a..bac8df2 100755 (executable)
@@ -57157,7 +57157,7 @@ $as_echo "$ac_ld_relro" >&6; }
     $as_echo "#define HAVE_SINHL 1" >>confdefs.h
 
     ;;
-  *-ros*)
+  *-akaros*)
 
   ac_test_CXXFLAGS="${CXXFLAGS+set}"
   ac_save_CXXFLAGS="$CXXFLAGS"
index a739657..99355e6 100644 (file)
@@ -272,8 +272,8 @@ case "${host_os}" in
     os_include_dir="os/qnx/qnx6.1"
     c_model=c
     ;;
-  ros*)
-    os_include_dir="os/ros"
+  akaros*)
+    os_include_dir="os/akaros"
     ;;
   solaris2)
     # This too-vague configuration does not provide enough information
index fe89209..f2bab49 100644 (file)
@@ -198,7 +198,7 @@ case "${host}" in
     AC_DEFINE(HAVE_SINHF)
     AC_DEFINE(HAVE_SINHL)
     ;;
-  *-ros*)
+  *-akaros*)
     GLIBCXX_CHECK_MATH_SUPPORT
     GLIBCXX_CHECK_STDLIB_SUPPORT
     ;;