Richard Earnshaw
bfc1eae300
re PR libstdc++/3584 (arm-specific atomic operations not atomic)
...
PR libstdc++/3584
* config/cpu/arm/atomicity.h (__exchange_and_add): Don't try to use
ASM sequences that don't give us atomic addition operations. Instead
just add a comment explaining why it doesn't work.
(__atomic_add): Just use __exchange_and_add.
(__test_and_set, __always_swap): Delete.
From-SVN: r57778
2002-10-03 15:58:29 +00:00
Benjamin Kosnik
ca017eef3a
Makefile.am (target_headers): Remove cpu_limits.h.
...
2002-09-25 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (target_headers): Remove cpu_limits.h.
* include/Makefile.in: Regenerate.
* configure.in (CPU_LIMITS_INC_SRCDIR): Remove
* configure: Regenerate.
* configure.target (CPULIMITS): Remove.
* include/std/std_limits.h: Remove cpu_limits.h include.
* config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits):
Remove.
* config/os/irix/irix6.5/os_defines.h
(__glibcpp_long_double_bits): Remove.
(__glibcpp_wchar_t_bits): Remove.
(__glibcpp_long_bits): Remove.
* config/os/irix/irix5.2/os_defines.h
(__glibcpp_long_double_bits): Remove.
(__glibcpp_long_bits): Remove.
* config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
* config/os/bsd/freebsd/os_defines.h:
(__glibcpp_long_double_bits): Remove.
* config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
(__glibcpp_wchar_t_is_signed): Remove.
(__glibcpp_long_bits): Remove.
* config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove.
(__glibcpp_long_double_bits): Remove.
* config/os/osf/osf5.0/cpu_limits.h: Remove.
* config/cpu/alpha/cpu_limits.h: Remove.
* config/cpu/arm/cpu_limits.h: Remove.
* config/cpu/cris/cpu_limits.h: Remove.
* config/cpu/generic/cpu_limits.h: Remove.
* config/cpu/generic/limits.h: Remove.
* config/cpu/ia64/cpu_limits.h: Remove.
* config/cpu/m68k/cpu_limits.h: Remove.
* config/cpu/mmix/cpu_limits.h: Remove.
* config/cpu/powerpc/cpu_limits.h: Remove.
* config/cpu/S390/cpu_limits.h: Remove.
From-SVN: r57524
2002-09-26 05:25:14 +00:00
Jakub Jelinek
750db234b1
configure.target: Use cpu_include_dir="config/cpu/sparc" for all sparc targets.
...
* configure.target: Use cpu_include_dir="config/cpu/sparc" for all
sparc targets.
* config/cpu/sparc/bits/atomicity.h: New file.
* config/cpu/sparc/sparc32/bits/atomicity.h: Removed.
* config/cpu/sparc/sparc64/bits/atomicity.h: Removed.
[[Split portion of a mixed commit.]]
From-SVN: r56897.2
2002-09-06 20:32:08 +02:00
Richard Earnshaw
25cf83980b
cpu_limits.h: New file.
...
* config/cpu/arm/cpu_limits.h: New file.
* configure.target: Use config/cpu/arm for XScale and StrongARM
configurations.
From-SVN: r56653
2002-08-29 09:14:27 +00:00
Alan Modra
bd11db39e8
cpu_limits.h (__glibcpp_long_bits): Define.
...
* config/cpu/powerpc/cpu_limits.h (__glibcpp_long_bits): Define.
* configure.target (cpu_include_dir): Use cpu/powerpc for powerpc64.
* config/cpu/powerpc/atomicity.h (__always_swap): Remove.
(__test_and_set): Remove.
(_STWCX): Define and use.
From-SVN: r55854
2002-07-30 08:56:00 +09:30
Eric Christopher
17640f249b
configure.target: Fix comment for mips atomicity.
...
2002-07-08 Eric Christopher <echristo@redhat.com>
* configure.target: Fix comment for mips atomicity. Add
mips*-*-linux* target, enable atomic operations there.
* config/cpu/mips/atomicity.h: Fix comments, remove
#ifndef/#endif. Add push/pop mips2.
From-SVN: r55331
2002-07-08 19:41:57 +00:00
Phil Edwards
d32e25dffa
*: Move header files up a level.
...
2002-06-24 Phil Edwards <pme@gcc.gnu.org>
* config/cpu/*/bits/*: Move header files up a level. Remove bits.
* config/os/*/bits/*: Likewise.
* configure.in: Update.
* configure: Regenerate.
* configure.target: Update.
* docs/html/17_intro/porting.texi: Update.
From-SVN: r54943
2002-06-24 05:50:58 +00:00
Marc Espie
04df515ada
atomicity.h (__exchange_and_add): Fix inline assembly for old assemblers.
...
* config/cpu/m68k/bits/atomicity.h(__exchange_and_add): Fix inline
assembly for old assemblers.
From-SVN: r54202
2002-06-03 05:26:00 +00:00
Hans-Peter Nilsson
7e67bb8588
cpu_limits.h: New file.
...
* config/cpu/mmix/bits/cpu_limits.h: New file.
* configure.target (CPULIMITSH): Use it.
From-SVN: r52674
2002-04-23 17:46:24 +00:00
Joel Sherrill
0b46224d2b
atomicity.h: Corrected for RTEMS targets which do not have a CAS instruction.
...
2001-02-14 Joel Sherrill <joel@OARcorp.com>
* config/cpu/m68k/bits/atomicity.h: Corrected for RTEMS targets which
do not have a CAS instruction.
From-SVN: r49772
2002-02-14 18:57:38 +00:00
Richard Henderson
acae253ec1
re PR libstdc++/5198 (3.0.3 linux x m68k build fail: invalid opcodes in c++locale.cc)
...
PR libstdc++/5198
* config/cpu/m68k/bits/atomicity.h (__exchange_and_add): Only use
CAS on the cpu variants that support it. Add versions that use
TAS and that disable interrupts.
(__atomic_add): Use __exchange_and_add to guarantee atomicity.
From-SVN: r49160
2002-01-23 17:31:13 -08:00
Bo Thorsen
2dd1d259ae
cpu_limits.h (__glibcpp_long_bits): Add definition.
...
2002-01-09 Bo Thorsen <bo@suse.co.uk>
* config/cpu/x86-64/bits/cpu_limits.h (__glibcpp_long_bits): Add
definition.
From-SVN: r48683
2002-01-09 14:45:47 +01:00
Richard Henderson
0b622c4a1e
cpu_limits.h: New file.
...
* config/cpu/ia64/bits/cpu_limits.h: New file.
* config/os/osf/osf5.0/bits/cpu_limits.h: New file.
* configure.target (CPULIMITSH): Use them.
From-SVN: r48358
2001-12-28 17:19:51 -08:00
Loren J. Rittle
813df02279
* config/cpu/sparc/sparc32/bits/atomicity.h
...
(__Atomicity_lock<0>::_S_atomicity_lock): Add.
From-SVN: r47867
2001-12-11 09:41:40 +00:00
Nathan Myers
7814a308e4
atomicity.h (struct __Atomicity_lock<__inst>): Add.
...
libstdc++/5037
* config/cpu/sparc/sparc32/bits/atomicity.h
(struct __Atomicity_lock<__inst>): Add.
(__Atomicity_lock<__inst>::_S_atomicity_lock): Add.
(__exchange_and_add): Use __Atomicity_lock<0>::_S_atomicity_lock
instead of lock local to static function.
(__atomic_add): Likewise.
Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>
From-SVN: r47782
2001-12-08 00:59:11 +00:00
Benjamin Kosnik
e37beb47ba
os_defines.h: Set to 64 bit longs with __s390x__ only.
...
2001-10-25 Benjamin Kosnik <bkoz@redhat.com>
Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* config/os/gnu-linux/bits/os_defines.h: Set to 64 bit longs with
__s390x__ only.
* include/bits/std_limits.h: Fix wchar_t issues.
* config/os/aix/bits/os_defines.h: Fix.
Co-Authored-By: Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
From-SVN: r46523
2001-10-26 02:13:31 +00:00
Benjamin Kosnik
f295ecef02
limits.h: Move to...
...
2001-10-22 Benjamin Kosnik <bkoz@redhat.com>
* config/cpu/i386/bits/limits.h: Move to...
* config/cpu/i386/bits/cpu_limits.h: ...here.
* config/cpu/cris/bits/cpu_limits.h: Same.
* config/cpu/powerpc/bits/cpu_limits.h: Same.
* config/cpu/x86-64/bits/cpu_limits.h: Same.
* config/cpu/alpha/bits/cpu_limits.h: New.
* config/cpu/m68k/bits/cpu_limits.h: New.
* config/cpu/s390/bits/cpu_limits.h: New.
* config/os/aix/bits/os_defines.h: Tweaks.
* config/os/bsd/freebsd/bits/os_defines.h: Same.
* config/os/bsd/netbsd/bits/os_defines.h: Same.
* config/os/djgpp/bits/os_defines.h: Same.
* config/os/generic/bits/os_defines.h: Same.
* config/os/gnu-linux/bits/os_defines.h: Same.
* config/os/hpux/bits/os_defines.h: Same.
* config/os/irix/irix5.2/bits/os_defines.h: Same.
* config/os/irix/irix6.5/bits/os_defines.h: Same.
* config/os/newlib/bits/os_defines.h: Same.
* config/os/solaris/solaris2.5/bits/os_defines.h: Same.
* config/os/solaris/solaris2.6/bits/os_defines.h: Same.
* config/os/solaris/solaris2.7/bits/os_defines.h: Same.
* include/bits/c++config: Remove include.
* include/bits/limits_generic.h: Remove.
* include/bits/std_limits.h: Include cpu_limits.h.
* include/Makefile.am: Fixup.
* src/limits.cc: Tweak.
* src/limits_generic.cc: Remove.
* src/gen-num-limits.cc: Remove.
* mknumeric_limits: Remove.
From-SVN: r46445
2001-10-23 21:40:31 +00:00
Andreas Jaeger
82e014c98d
limits.h: New file.
...
* config/cpu/x86-64/bits/limits.h: New file.
* config/cpu/x86-64/bits/atomicity.h: New file.
* configure.target: Add x86-64.
From-SVN: r46342
2001-10-19 08:34:01 +02:00
Phil Edwards
744ee8b72b
atomicity.h (__compare_and_swap): Remove unused function.
...
2001-10-05 Phil Edwards <pme@gcc.gnu.org>
* config/cpu/alpha/bits/atomicity.h (__compare_and_swap): Remove
unused function.
* config/cpu/arm/bits/atomicity.h: Likewise.
* config/cpu/generic/bits/atomicity.h: Likewise.
* config/cpu/i486/bits/atomicity.h: Likewise.
* config/cpu/ia64/bits/atomicity.h: Likewise.
* config/cpu/mips/bits/atomicity.h: Likewise.
* config/cpu/powerpc/bits/atomicity.h: Likewise.
* config/cpu/sparc/sparc32/bits/atomicity.h: Likewise.
* config/cpu/sparc/sparc64/bits/atomicity.h: Likewise.
From-SVN: r46038
2001-10-05 18:43:43 +00:00
Hans-Peter Nilsson
be55d07d6f
* config/cpu/cris/bits/atomicity.h: Correct file header.
...
From-SVN: r45929
2001-10-01 16:57:44 +00:00
Hans-Peter Nilsson
d15a5c7ca1
* config/cpu/cris/bits/limits.h: New file.
...
From-SVN: r45883
2001-09-29 16:49:48 +00:00
Hans-Peter Nilsson
a78a69ba79
configure.target (LIMITSH): Set for cris.
...
* configure.target (LIMITSH): Set for cris.
(cpu_include_dir): Set for cris-*-*.
* config/cpu/cris/bits/atomicity.h: New file.
* config/cpu/cris/bits/limits.h: New file.
From-SVN: r45882
2001-09-29 16:49:20 +00:00
Loren J. Rittle
405bfc410e
limits.h (__glibcpp_long_double_bits): Only define if not already provided by per-OS file.
...
* config/cpu/i386/bits/limits.h (__glibcpp_long_double_bits): Only
define if not already provided by per-OS file.
* config/os/bsd/freebsd/bits/os_defines.h (__glibcpp_long_double_bits):
Define.
From-SVN: r45165
2001-08-24 21:57:15 +00:00
Franz Sirl
9567d32780
configure.target: Set LIMITSH for powerpc-*-*.
...
2001-08-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* configure.target: Set LIMITSH for powerpc-*-*.
* config/cpu/powerpc/bits/limits.h: New file.
From-SVN: r44944
2001-08-16 19:19:09 +00:00
Andreas Schwab
b8f73826af
configure.target (cpu_include_dir): Set to `config/cpu/m68k' for m68k and m680[246]0.
...
* configure.target (cpu_include_dir): Set to `config/cpu/m68k' for
m68k and m680[246]0.
* config/cpu/m68k/bits/atomicity.h: New file.
From-SVN: r44925
2001-08-15 16:00:45 +00:00
Ulrich Weigand
354953125e
Added atomicity.h header for s390.
...
From-SVN: r44907
2001-08-14 23:16:57 +00:00
Mark Mitchell
9f3c078ea9
configure.in (LIMITS_INC_SRCDIR): New variable.
...
* configure.in (LIMITS_INC_SRCDIR): New variable.
* configure.target (LIMITSH): New variable.
* porting.texi: Discuss numeric limits.
* config/cpu/generic/bits/limits.h: New file.
* config/cpu/i386/bits/limits.h: New file.
* include/Makefile.am: Install bits/limits.h.
* include/bits/c++config: Include bits/limits.h.
From-SVN: r44877
2001-08-13 22:26:11 +00:00
Benjamin Kosnik
3fe670a469
configure.target: Remove mips from cpu table.
...
2001-07-30 Benjamin Kosnik <bkoz@redhat.com>
* configure.target: Remove mips from cpu table.
* config/cpu/mips/bits/atomicity.h: Remove generic
versions. Comment sgidefs include.
From-SVN: r44493
2001-07-31 01:49:30 +00:00
H.J. Lu
95b02d7e3a
configure.target (cpu_include_dir): Set to `config/cpu/mips' for mips.
...
2001-07-25 H.J. Lu <hjl@gnu.org>
* configure.target (cpu_include_dir): Set to `config/cpu/mips'
for mips.
* config/cpu/mips/bits/atomicity.h: New.
[[Split portion of a mixed commit.]]
From-SVN: r44374.2
2001-07-25 22:04:48 -07:00
Benjamin Kosnik
a29456b524
Correct license.
...
2001-02-27 Benjamin Kosnik <bkoz@redhat.com>
Correct license.
* config/cpu/alpha/bits/atomicity.h: Change.
* config/cpu/arm/bits/atomicity.h
* config/cpu/generic/bits/atomicity.h
* config/cpu/i386/bits/atomicity.h
* config/cpu/i486/bits/atomicity.h
* config/cpu/ia64/bits/atomicity.h
* config/cpu/powerpc/bits/atomicity.h
* config/cpu/sparc/sparc32/bits/atomicity.h
* config/cpu/sparc/sparc64/bits/atomicity.h
* config/os/aix/bits/atomicity.h
* config/os/irix/bits/atomicity.h
From-SVN: r40103
2001-02-28 00:14:16 +00:00
Andreas Jaeger
c62ea79568
atomicity.h (__compare_and_swap): Fix typo.
...
2001-02-19 Andreas Jaeger <aj@suse.de>
* config/cpu/sparc/sparc64/bits/atomicity.h (__compare_and_swap):
Fix typo.
From-SVN: r39886
2001-02-19 16:41:46 +01:00
Richard Henderson
d9de4b22f6
atomicity.h: Remove tricky .subsetion bits.
...
2001-01-25 Richard Henderson <rth@redhat.com>
* config/cpu/alpha/bits/atomicity.h: Remove tricky .subsetion
bits. Fixes Tru64 build issues.
From-SVN: r39290
2001-01-26 23:07:38 +00:00
Richard Earnshaw
529dec15d8
atomicity.h: Add support for compiling Thumb code.
...
* config/cpu/arm/bits/atomicity.h: Add support for compiling Thumb
code.
From-SVN: r38033
2000-12-05 10:36:33 +00:00
Franz Sirl
79f41ea419
atomicity.h (__exchange_and_add): Silence preprocessor multi-line string warnings.
...
2000-11-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): Silence
preprocessor multi-line string warnings.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
(__test_and_set): Likewise.
* config/cpu/arm/bits/atomicity.h (__exchange_and_add): Likewise.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
(__test_and_set): Likewise.
From-SVN: r37831
2000-11-28 22:28:49 +00:00
Franz Sirl
079c384ce3
atomicity.h (__exchange_and_add): Add __volatile__ to asm.
...
2000-11-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/cpu/arm/bits/atomicity.h (__exchange_and_add): Add
__volatile__ to asm.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
(__test_and_set): Likewise.
From-SVN: r37805
2000-11-27 20:07:17 +00:00
Franz Sirl
6bd7b1bb37
atomicity.h: Replace '__ATOMICITY_INLINE' with 'inline'.
...
2000-11-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/cpu/powerpc/bits/atomicity.h: Replace '__ATOMICITY_INLINE'
with 'inline'.
(__ex__atomic_add): Add __volatile__ to asm.
(__atomic_add): Likewise.
(__compare_and_swap): Likewise.
(__always_swap): Likewise.
(__test_and_set): Likewise.
From-SVN: r37802
2000-11-27 18:17:40 +00:00
Benjamin Kosnik
f1158db342
atomicity.h (__exchange_and_add): Change unused to __unused__.
...
2000-09-07 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* config/cpu/i386/bits/atomicity.h (__exchange_and_add): Change unused
to __unused__.
* config/cpu/ia64/bits/atomicity.h (__exchange_and_add): And here.
* config/cpu/i486/bits/atomicity.h (__exchange_and_add): And here.
From-SVN: r36255
2000-09-08 01:30:38 +00:00
Richard Henderson
735bce7e26
acinclude.m4 (GLIBCPP_CHECK_CPU): Add ia64 support.
...
2000-09-06 Richard Henderson <rth@cygnus.com>
Benjamin Kosnik <bkoz@cygnus.com>
* acinclude.m4 (GLIBCPP_CHECK_CPU): Add ia64 support.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config/cpu/ia64: New directory.
* config/cpu/ia64/bits: New directory.
* config/cpu/ia64/bits/atomicity.h: New file.
Co-Authored-By: Benjamin Kosnik <bkoz@cygnus.com>
From-SVN: r36222
2000-09-07 01:48:27 +00:00
Benjamin Kosnik
7e0ec38b14
atomicity.h: Change __attribute__ ((unused)) to __attribute__ ((__unused__)).
...
2000-08-22 Richard B. Kreckel <Richard.Kreckel@Uni-Mainz.DE>
* config/cpu/alpha/bits/atomicity.h: Change __attribute__
((unused)) to __attribute__ ((__unused__)).
* config/cpu/arm/bits/atomicity.h: Same.
* config/cpu/generic/bits/atomicity.h: Same.
* config/cpu/i386/bits/atomicity.h: Same.
* config/cpu/i486/bits/atomicity.h: Same.
* config/cpu/powerpc/bits/atomicity.h: Same.
* config/cpu/sparc/sparc32/bits/atomicity.h: Same.
* config/cpu/sparc/sparc64/bits/atomicity.h: Same.
From-SVN: r35882
2000-08-22 18:24:16 +00:00
Jakub Jelinek
ba62473eba
atomicity.h (__exchange_and_add): Use extended word instructions to match 64bit _Atomic_word.
...
2000-07-20 Jakub Jelinek <jakub@redhat.com>
* config/cpu/sparc/sparc64/bits/atomicity.h (__exchange_and_add):
Use extended word instructions to match 64bit _Atomic_word.
(__atomic_add): Likewise.
* math/clog10l.c (clog10l): Use M_PIl if defined.
* math/c_logl.c (c_logl): Likewise.
* math/signbitl.c (__signbitl): Adapt for IEEE quad long doubles.
* math/mathconf.h (ieee_quad_double_shape_type): New type.
(GET_LDOUBLE_MSW64): New define.
From-SVN: r35166
2000-07-21 01:01:00 +00:00
Nathan C. Myers
53601625c5
i486: New directory.
...
2000-05-19 Nathan "I don't write ChangeLog Entries" Myers <ncm@cantrip.org>
* config/cpu/i486: New directory.
* config/cpu/i486/bits: New directory.
* config/cpu/i486/bits/atomicity.h: New file.
* config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
'cmpxchgl' asm.
* acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.
From-SVN: r34160
2000-05-25 10:04:12 +00:00
Benjamin Kosnik
e704c6bf37
atomicity.h (__exchange_and_add): More fixes.
...
2000-05-01 Benjamin Kosnik <bkoz@redhat.com>
* config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): More
fixes.
From-SVN: r33606
2000-05-02 06:45:21 +00:00
Benjamin Kosnik
b7fe530c1e
atomicity.h: Fix typo.
...
2000-04-30 Benjamin Kosnik <bkoz@gnu.org>
* config/cpu/powerpc/bits/atomicity.h: Fix typo.
* mknumeric_limits (trait_name): Fix copyright notice.
* src/gen-num-limits.cc: Explicitly instantiate epsilon and
round_error data members of struct value. This works around
weak-linking issues on AIX, HPUX.
From-SVN: r33580
2000-05-01 18:14:03 +00:00
Nathan C. Myers
5db2c9b839
basic_string.h: include <bits/atomicity.h> instead of <atomicity.h>, and use the uglified names.
...
2000-04-26 Nathan C. Myers <ncm@cantrip.org>
* bits/basic_string.h: include <bits/atomicity.h> instead
of <atomicity.h>, and use the uglified names.
* config/cpu/*/atomicity.h: replace with bits/atomicity.h;
uglify names, eliminate dependence on <inttypes.h>.
* src/Makefile.in, src/Makefile.am: refer to correct place
for atomicity.h header.
From-SVN: r33503
2000-04-28 03:00:58 +00:00
Nathan Myers
f17d6c73de
cpu: Atomicity cleanups.
...
2000-04-24 Nathan Myers <ncm@cantrip.org>
* config/cpu: Atomicity cleanups.
* config/cpu/alpha/bits: New directory.
* config/cpu/arm/bits: New directory.
* config/cpu/generic/bits: New directory.
* config/cpu/i386/bits: New directory.
* config/cpu/powerpc/bits: New directory.
* config/cpu/sparc/sparc32/bits: New directory.
* config/cpu/sparc/sparc32/bits: New directory.
* config/cpu/*/bits: Move atomicity.h files to here.
From-SVN: r33438
2000-04-26 02:51:12 +00:00
Benjamin Kosnik
b2dad0e372
libstdc++-v3: New directory.
...
2000-04-21 Benjamin Kosnik <bkoz@redhat.com>
* libstdc++-v3: New directory.
From-SVN: r33317
2000-04-21 20:33:34 +00:00