| @@ -1,7 +1,7 @@ | |||||
| # We don't actually build anything in the `cpu' and `os' | # We don't actually build anything in the `cpu' and `os' | ||||
| # subdirectories. | # subdirectories. | ||||
| DIST_SUBDIRS = cpu os sysdeps | |||||
| DIST_SUBDIRS = os sysdeps | |||||
| EXTRA_DIST = depcomp | EXTRA_DIST = depcomp | ||||
| MAINTAINERCLEANFILES = Makefile.in config.guess config.sub \ | MAINTAINERCLEANFILES = Makefile.in config.guess config.sub \ | ||||
| @@ -1,2 +0,0 @@ | |||||
| MAINTAINERCLEANFILES = Makefile.in | |||||
| DIST_SUBDIRS = generic i386 powerpc | |||||
| @@ -1,3 +0,0 @@ | |||||
| MAINTAINERCLEANFILES = Makefile.in | |||||
| noinst_HEADERS = atomicity.h | |||||
| @@ -1,39 +0,0 @@ | |||||
| /* Low-level functions for atomic operations. Stub version. | |||||
| Copyright (C) 1997,2001 Free Software Foundation, Inc. | |||||
| This file is part of the GNU C Library. | |||||
| The GNU C Library is free software; you can redistribute it and/or | |||||
| modify it under the terms of the GNU Lesser General Public | |||||
| License as published by the Free Software Foundation; either | |||||
| version 2.1 of the License, or (at your option) any later version. | |||||
| The GNU C 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 | |||||
| Lesser General Public License for more details. | |||||
| You should have received a copy of the GNU Lesser General Public | |||||
| License along with the GNU C Library; if not, write to the Free | |||||
| Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |||||
| 02111-1307 USA. */ | |||||
| #ifndef _ATOMICITY_H | |||||
| #define _ATOMICITY_H 1 | |||||
| typedef int _Atomic_word; | |||||
| static inline _Atomic_word | |||||
| __attribute__ ((__unused__)) | |||||
| __exchange_and_add (volatile _Atomic_word* mem, int val) | |||||
| { | |||||
| return __sync_fetch_and_add (mem, val); | |||||
| } | |||||
| static inline void | |||||
| __attribute__ ((__unused__)) | |||||
| __atomic_add (volatile _Atomic_word* mem, int val) | |||||
| { | |||||
| __sync_add_and_fetch (mem, val); | |||||
| } | |||||
| #endif /* atomicity.h */ | |||||
| @@ -1,3 +0,0 @@ | |||||
| MAINTAINERCLEANFILES = Makefile.in | |||||
| noinst_HEADERS = atomicity.h | |||||
| @@ -1,53 +0,0 @@ | |||||
| // Copyright (C) 1999, 2000, 2001 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 2, 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. | |||||
| // You should have received a copy of the GNU General Public License along | |||||
| // with this library; see the file COPYING. If not, write to the Free | |||||
| // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, | |||||
| // USA. | |||||
| // As a special exception, you may use this file as part of a free software | |||||
| // library without restriction. Specifically, if other files instantiate | |||||
| // templates or use macros or inline functions from this file, or you compile | |||||
| // this file and link it with other files to produce an executable, this | |||||
| // file does not by itself cause the resulting executable to be covered by | |||||
| // the GNU General Public License. This exception does not however | |||||
| // invalidate any other reasons why the executable file might be covered by | |||||
| // the GNU General Public License. | |||||
| #ifndef _GLIBCXX_ATOMICITY_H | |||||
| #define _GLIBCXX_ATOMICITY_H 1 | |||||
| typedef int _Atomic_word; | |||||
| static inline _Atomic_word | |||||
| __attribute__ ((__unused__)) | |||||
| __exchange_and_add (volatile _Atomic_word* __mem, int __val) | |||||
| { | |||||
| register _Atomic_word __result; | |||||
| __asm__ __volatile__ ("lock; xaddl %0,%1" | |||||
| : "=r" (__result), "=m" (*__mem) | |||||
| : "0" (__val), "m" (*__mem)); | |||||
| return __result; | |||||
| } | |||||
| static inline void | |||||
| __attribute__ ((__unused__)) | |||||
| __atomic_add (volatile _Atomic_word* __mem, int __val) | |||||
| { | |||||
| __asm__ __volatile__ ("lock; addl %1,%0" | |||||
| : "=m" (*__mem) : "ir" (__val), "m" (*__mem)); | |||||
| } | |||||
| #endif /* atomicity.h */ | |||||
| @@ -1,3 +0,0 @@ | |||||
| MAINTAINERCLEANFILES = Makefile.in | |||||
| noinst_HEADERS = atomicity.h | |||||
| @@ -1,80 +0,0 @@ | |||||
| // Low-level functions for atomic operations: PowerPC version -*- C++ -*- | |||||
| // Copyright (C) 1999, 2000, 2001, 2003 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 2, 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. | |||||
| // You should have received a copy of the GNU General Public License along | |||||
| // with this library; see the file COPYING. If not, write to the Free | |||||
| // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, | |||||
| // USA. | |||||
| // As a special exception, you may use this file as part of a free software | |||||
| // library without restriction. Specifically, if other files instantiate | |||||
| // templates or use macros or inline functions from this file, or you compile | |||||
| // this file and link it with other files to produce an executable, this | |||||
| // file does not by itself cause the resulting executable to be covered by | |||||
| // the GNU General Public License. This exception does not however | |||||
| // invalidate any other reasons why the executable file might be covered by | |||||
| // the GNU General Public License. | |||||
| #ifndef _GLIBCXX_ATOMICITY_H | |||||
| #define _GLIBCXX_ATOMICITY_H 1 | |||||
| #ifdef __PPC405__ | |||||
| #define _STWCX "sync \n\tstwcx. " | |||||
| #else | |||||
| #define _STWCX "stwcx. " | |||||
| #endif | |||||
| typedef int _Atomic_word; | |||||
| static inline _Atomic_word | |||||
| __attribute__ ((__unused__)) | |||||
| __exchange_and_add (volatile _Atomic_word* __mem, int __val) | |||||
| { | |||||
| _Atomic_word __tmp, __res; | |||||
| __asm__ __volatile__ ( | |||||
| "/* Inline exchange & add */\n" | |||||
| "0:\t" | |||||
| "lwarx %0,0,%3 \n\t" | |||||
| "add%I4 %1,%0,%4 \n\t" | |||||
| _STWCX " %1,0,%3 \n\t" | |||||
| "bne- 0b \n\t" | |||||
| "/* End exchange & add */" | |||||
| : "=&b" (__res), "=&r" (__tmp), "=m" (*__mem) | |||||
| : "r" (__mem), "Ir" (__val), "m" (*__mem) | |||||
| : "cr0"); | |||||
| return __res; | |||||
| } | |||||
| static inline void | |||||
| __attribute__ ((__unused__)) | |||||
| __atomic_add (volatile _Atomic_word* __mem, int __val) | |||||
| { | |||||
| _Atomic_word __tmp; | |||||
| __asm__ __volatile__ ( | |||||
| "/* Inline atomic add */\n" | |||||
| "0:\t" | |||||
| "lwarx %0,0,%2 \n\t" | |||||
| "add%I3 %0,%0,%3 \n\t" | |||||
| _STWCX " %0,0,%2 \n\t" | |||||
| "bne- 0b \n\t" | |||||
| "/* End atomic add */" | |||||
| : "=&b" (__tmp), "=m" (*__mem) | |||||
| : "r" (__mem), "Ir" (__val), "m" (*__mem) | |||||
| : "cr0"); | |||||
| } | |||||
| #endif /* atomicity.h */ | |||||
| @@ -7,7 +7,6 @@ MAINTAINERCLEANFILES = Makefile.in | |||||
| noinst_HEADERS = \ | noinst_HEADERS = \ | ||||
| systemtest.c \ | systemtest.c \ | ||||
| sanitycheck.c \ | sanitycheck.c \ | ||||
| atomicity.h \ | |||||
| getopt.h \ | getopt.h \ | ||||
| ipc.h \ | ipc.h \ | ||||
| mach_port.h \ | mach_port.h \ | ||||
| @@ -1,24 +0,0 @@ | |||||
| #ifndef _jack_sysdep_atomicity_h_ | |||||
| #define _jack_sysdep_atomicity_h_ | |||||
| #if defined(__i386__) | |||||
| #include <config/cpu/i386/atomicity.h> | |||||
| #elif defined(__x86_64) | |||||
| /* x86_64 can use rdtsc just like i[456]86 */ | |||||
| #include <config/cpu/i386/atomicity.h> | |||||
| #elif defined(__powerpc__) || defined(__ppc__) /* linux and OSX use different tokens */ | |||||
| #include <config/cpu/powerpc/atomicity.h> | |||||
| #else | |||||
| #include <config/cpu/generic/atomicity.h> | |||||
| #endif /* processor selection */ | |||||
| #endif /* _jack_sysdep_atomicity_h_ */ | |||||
| @@ -964,10 +964,6 @@ AM_CONDITIONAL(HAVE_ZITA_BRIDGE_DEPS, $HAVE_ZITA_BRIDGE_DEPS) | |||||
| AC_OUTPUT( | AC_OUTPUT( | ||||
| Makefile | Makefile | ||||
| config/Makefile | config/Makefile | ||||
| config/cpu/Makefile | |||||
| config/cpu/generic/Makefile | |||||
| config/cpu/i386/Makefile | |||||
| config/cpu/powerpc/Makefile | |||||
| config/os/Makefile | config/os/Makefile | ||||
| config/os/generic/Makefile | config/os/generic/Makefile | ||||
| config/os/gnu-linux/Makefile | config/os/gnu-linux/Makefile | ||||