Wilco Dijkstra
127c38bd44
[AArch64] Rewrite optimized memset.
...
This is an optimized memset for AArch64. Memset is split into 4 main
cases: small sets of up to 16 bytes, medium of 16..96 bytes which are
fully unrolled. Large memsets of more than 96 bytes align the
destination and use an unrolled loop processing 64 bytes per
iteration. Memsets of zero of more than 256 use the dc zva
instruction, and there are faster versions for the common ZVA sizes 64
or 128. STP of Q registers is used to reduce codesize without loss of
performance.
2015-07-30 12:51:34 +01:00
Marcus Shawcroft
c7806ef76a
[AArch64] Reverting recent optimized memset().
2015-07-15 13:34:58 +01:00
Wilco Dijkstra
3263f90ef7
[AArch64] Optimized memset.
...
This is an optimized memset for AArch64. Memset is split into 4 main
cases: small sets of up to 16 bytes, medium of 16..96 bytes which are
fully unrolled. Large memsets of more than 96 bytes align the
destination and use an unrolled loop processing 64 bytes per
iteration. Memsets of zero of more than 256 use the dc zva
instruction, and there are faster versions for the common ZVA sizes 64
or 128. STP of Q registers is used to reduce codesize without loss of
performance.
2015-07-13 13:17:16 +01:00
Wilco Dijkstra
b295f6ba44
[AArch64] Optimized memcpy.
...
This is an optimized memcpy for AArch64. Copies are split into 3 main
cases: small copies of up to 16 bytes, medium copies of 17..96 bytes
which are fully unrolled. Large copies of more than 96 bytes align
the destination and use an unrolled loop processing 64 bytes per
iteration. In order to share code with memmove, small and medium
copies read all data before writing, allowing any kind of overlap. On
a random copy test memcpy is 40.8% faster on A57 and 28.4% on A53.
2015-07-13 13:09:02 +01:00
Wilco Dijkstra
9503c7f275
[AArch64] Optimized memmove.
...
This is an optimized memmove for AArch64. All copies of up to 96
bytes and all backward copies are done by the new memcpy. The only
remaining case is large forward copies which are done in the same way
as the memcpy loop, but copying from the end rather than the start.
2015-07-13 13:03:02 +01:00
Hale Wang
24e054c8c8
Update the assembler code to support old ARM architectures.
...
* libc/machine/arm/aeabi_memmove-arm.S (__aeabi_memmove): Update the
assembler implementation.
* libc/machine/arm/aeabi_memmove-thumb.S (__aeabi_memmove): Ditto.
* libc/machine/arm/aeabi_memmove-thumb2.S (__aeabi_memmove): Ditto.
* libc/machine/arm/aeabi_memset-arm.S (__aeabi_memset): Ditto.
* libc/machine/arm/aeabi_memset-thumb.S (__aeabi_memset): Ditto.
* libc/machine/arm/aeabi_memset-thumb2.S (__aeabi_memset): Ditto.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-06-01 12:49:37 +02:00
Nick Clifton
cd0d459135
For the RX port, avoid using string instructions when __RX_DISALLOW_STRING_INSNS__ is defined.
...
* rx/crt0.S (_start): If string instructions are not allowed,
avoid using SMOVF.
* libc/machine/rx/memchr.S: Add non-string insn using version.
* libc/machine/rx/memcpy.S: Likewise.
* libc/machine/rx/memmove.S: Likewise.
* libc/machine/rx/mempcpy.S: Likewise.
* libc/machine/rx/strcat.S: Likewise.
* libc/machine/rx/strcmp.S: Likewise.
* libc/machine/rx/strcpy.S: Likewise.
* libc/machine/rx/strlen.S: Likewise.
* libc/machine/rx/strncat.S: Likewise.
* libc/machine/rx/strncmp.S: Likewise.
* libc/machine/rx/strncpy.S: Likewise.
2015-04-23 21:57:13 +02:00
Steve Ellcey
bc860c9894
* libc/machine/mips/memset.S: Add support for mips32r6/mips64r6.
2015-03-03 19:49:00 +00:00
Steve Ellcey
b8cd02f65a
* libc/machine/mips/memcpy.S: Add support for mips32r6/mips64r6.
2015-03-03 17:46:27 +00:00
Steve Ellcey
d2f9dbb3ee
2015-02-26 Steve Ellcey <sellcey@imgtec.com>
...
* libc/machine/mips/memcpy.S: Fix macro indentation and typos in
comments.
2015-02-26 23:36:56 +00:00
Corinna Vinschen
72ba8b107a
* libc/machine/arm/aeabi_memclr.c: New file to support
...
aeabi_memclr.
* libc/machine/arm/aeabi_memset.c: New file to support
aeabi_memset.
* libc/machine/arm/aeabi_memset-soft.S: Ditto.
* libc/machine/arm/aeabi_memset-arm.S: Ditto.
* libc/machine/arm/aeabi_memset-thumb.S: Ditto.
* libc/machine/arm/aeabi_memset-thumb2.S: Ditto.
* libc/machine/arm/Makefile.am: Add dependencies.
* libc/machine/arm/Makefile.in: Regenerated.
2015-02-17 09:26:54 +00:00
Corinna Vinschen
554f33c48d
* libc/machine/arm/aeabi_memmove.c: New file to support
...
aeabi_memmove.
* libc/machine/arm/aeabi_memmove-soft.S: Ditto.
* libc/machine/arm/aeabi_memmove-arm.S: Ditto.
* libc/machine/arm/aeabi_memmove-thumb.S: Ditto.
* libc/machine/arm/aeabi_memmove-thumb2.S: Ditto.
* libc/machine/arm/Makefile.am: Add dependencies.
* libc/machine/arm/Makefile.in: Regenerated.
2015-02-17 09:06:51 +00:00
Nick Clifton
b9e7cd9a84
* libc/include/complex.h (cabsl): Add prototype.
...
(cimagl): Add prototype.
(creall): Add prototype.
* libc/include/ieeefp.h: Include float.h.
(EXT_EXPBITS, EXT_FRACHBITS, EXT_FRACLBITS)
(EXT_EXP_INFNAN. EXT_EXP_BIAS, EXT_FRACBITS): Define.
(struct ieee_ext, union ieee_ext_u): New types for long double
support.
* libc/include/math.h (finitel): Add prototype.
(hypotl): Add prototype.
(sqrtl): Add prototype.
* libm/common/Makefile.am (lsrc): Add sl_finite.c.
* libm/common/Makefile.in: Regenerate.
* libm/common/fdlibm.h (__ieee754_hypotl): Add prototype.
* libm/common/hypotl.c (hypotl): Add implementation for when long
double is larger than double.
* libm/common/sqrtl.c (sqrtl): Likewise.
* libm/common/sl_finite.c: New file. Adds implementation of the
finitel function.
* libm/complex/Makefile.am (lsrc): Define.
(libcomplex_la_SOURCES): Add lsrc.
(lib_a_SOURCES): Add lsrc.
* libm/complex/Makefile.in: Regenerate.
* libm/complex/cabs.c: Add documentation of cabsl function.
* libm/complex/cimag.c: Add documentation of cimagl function.
* libm/complex/creall.c: Add documentation of creall function.
* libm/complex/cabsl.c: New file. Adds implementation of the
cabsl function.
* libm/complex/cimagl.c: New file. Adds implementation of the
cimagl function.
* libm/complex/creall.c: New file. Adds implementation of the
creall function.
* libm/math/Makefile.am (lsrc): Define.
(libmath_la_SOURCES): Add lsrc.
(lib_a_SOURCES): Add lsrc.
* libm/math/Makefile.in: Regenerate.
* libm/math/el_hypot.c: New file. Adds implementation of the
__ieee754_hypotl function.
2015-02-06 16:14:04 +00:00
Corinna Vinschen
2ee3908b45
Complete action from 2001-12-18:
...
* libc/machine/i386/f_*: Remove duplicate files.
2015-01-23 10:16:00 +00:00
Eric Botcazou
bf8f43ae8a
* COPYING.LIBGLOSS: Add Controls and Data Services copyright.
...
* COPYING.NEWLIB: Likewise.
libgloss/
* configure.in: Add Visium support.
* configure: Regenerate.
* visium/: New directory.
newlib/
* configure.host: Add Visium support.
* libc/machine/configure.in: Likewise.
* libc/machine/configure: Regenerate.
* libc/machine/visium/: New directory.
* libc/include/machine/setjmp.h (_JBLEN): Define for Visium.
* libc/include/machine/ieeefp.h (__IEEE_BIG_ENDIAN): Likewise.
* libc/include/machine/time.h (_CLOCKS_PER_SEC_): Likewise.
2015-01-21 18:27:47 +00:00
Corinna Vinschen
086cd00d24
* libc/machine/aarch64/strlen.S (strlen): Improve performance.
2015-01-20 10:11:56 +00:00
Richard Earnshaw
6a35dbf342
* libc/machine/aarch64/strcpy.S (strcpy): Further performance
...
improvements. Adjust to allow building as stpcpy.
* libc/machine/aarch64/stpcpy.S: New file.
* libc/machine/aarch64/stpcpy-stub.c: New file.
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES): Build stpcpy.
* libc/machine/aarch64/Makefile.in: Regenerated.
2015-01-06 09:57:55 +00:00
Jeff Johnston
0615b4bb5f
2014-12-18 Jeff Johnston <jjohnstn@redhat.com>
...
* NEWS: Update with 2.2.0 info.
* README: Ditto.
* acinclude.m4: Change version number to 2.2.0.
* libc/libc.texinfo: Ditto.
* libm/libm.texinfo: Ditto.
* configure: Regenerated.
* Makefile.in: Regenerated.
* doc/configure: Ditto.
* libc/*/configure: Ditto.
* libm/*/configure: Ditto.
* libc/sys/linux/shared.ld: Add VERS_2.2
2014-12-18 20:30:11 +00:00
Richard Earnshaw
52edca9f86
* libc/machine/aarch64/strcpy.S: Improve handling of short strings.
2014-12-16 15:48:58 +00:00
Corinna Vinschen
f5ce72dffc
* newlib/libc/include/machine/setjmp.h: Add FPU support.
...
* newlib/libc/machine/nds32/setjmp.S: Add FPU support.
2014-12-15 13:32:17 +00:00
Jeff Johnston
f58bc5991f
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
...
* configure.host: or1knd support, OpenRISC without delay slot
* libc/include/machine/setjmp.h: Add or1knd
* libc/machine/or1k/setjmp.S: Optional delay slot
2014-12-12 21:14:06 +00:00
Jeff Johnston
31cf15b180
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
...
* libc/machine/or1k/setjmp.S: Remove save/restore of r3-r8
2014-12-12 20:17:26 +00:00
Richard Earnshaw
8608e14a3b
* libc/machine/aarch64/strchrnul.S (vrepmask): Use a call-clobbered
...
register.
2014-12-10 09:35:10 +00:00
Richard Earnshaw
c53c2915a7
* libc/machine/aarch64/strrchr.S: New file.
...
* libc/machine/aarch64/strrchr-stub.c: New file.
* libc/machine/aarch64/Makefile.am: Add them to build list.
* libc/machine/aarch64/Makefile.in: Regenerated.
2014-12-08 15:21:42 +00:00
Corinna Vinschen
d37bfe1da2
* libc/include/machine/setjmp.h [__mips__]: Remove __mips_fpr == 64
...
from the 64-bit _JBTYPE definition.
* libc/machine/mips/setjmp.S: Re-work the o32 FP64 support to match
the now one-and-only supported o32 FP64 ABI extension. Also
support o32 FPXX.
2014-11-28 08:47:39 +00:00
Corinna Vinschen
8a2ab1aea1
* libc/machine/arm/strcmp-armv6m.S: New file.
...
* libc/machine/arm/strcmp.S: Add new wrapper.
* libc/machine/arm/Makefile.am: Add dependencies.
* libc/machine/arm/Makefile.in: Regenerated.
2014-11-26 09:47:26 +00:00
Richard Earnshaw
fbb8f1a2c7
* libc/machine/aarch64/strcpy.S: New file.
...
* libc/machine/aarch64/strcpy-stub.S: New file.
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES): Add new files.
* libc/machine/aarch64/Makefile.in: Regenerate.
2014-11-10 14:57:37 +00:00
Steve Ellcey
ca86eee8de
2014-10-08 Steve Ellcey <sellcey@mips.com>
...
* newlib/libc/machine/mips/strcmp.c: Remove.
* newlib/libc/machine/mips/strcmp.S: New.
* newlib/libc/machine/mips/Makefile.am (lib_a_SOURCES):
Replace strcmp.c with strcmp.S
* newlib/libc/machine/mips/Makefile.in: Regenerate.
2014-10-08 22:29:52 +00:00
Jeff Johnston
1c5ab1f862
2014-09-08 Freddie Chopin <freddie_chopin@op.pl>
...
* libc/machine/arm/Makefile.am: Fix typo.
* libc/machine/arm/Makefile.in: Regenerated.
2014-09-08 18:57:52 +00:00
Jeff Johnston
c8a01afd97
2014-09-05 Hale Wang <hale.wang@arm.com>
...
* libc/machine/arm/memchr.S: Clean up the wrapper.
* libc/machine/arm/memcpy.S: Likewise.
* libc/machine/arm/memchr-stub.c: Delete this redundant file.
* libc/machine/arm/memcpy-stub.c: Likewise.
* libc/machine/arm/strcmp.S: Add speed-preferred wrapper.
* libc/machine/arm/strlen.S: Likewise.
* libc/machine/arm/Makefile.am: Add dependencies.
* libc/machine/arm/Makefile.in: Regenerated.
* libc/machine/arm/configure.in: Add dependencies.
* libc/machine/arm/configure: Regenerated.
2014-09-05 17:26:42 +00:00
Corinna Vinschen
a015d9b507
Add missing libc/machine/arm/aeabi_memcpy.c file
2014-09-05 08:42:45 +00:00
Corinna Vinschen
7d407cb678
Add missing libc/machine/arm/aeabi_memcpy-armv7a.S file
2014-09-04 08:27:35 +00:00
Corinna Vinschen
4a9103c410
* libc/machine/arm/aeabi_memcpy.c: New file.
...
* libc/machine/arm/aeabi_memcpy-armv7a.S: New file.
* libc/machine/arm/Makefile.am: Add dependencies.
* libc/machine/arm/Makefile.in: Regenerated.
2014-09-04 08:23:23 +00:00
Richard Earnshaw
59c3d5a1a4
* libc/machine/aarch64/memchr.S: Add check for zero-sized buffer.
2014-08-19 10:44:44 +00:00
Eric Blake
ada456dcfe
headers: properly decorate attributes
...
Found by:
find -name '*.h' |xargs grep -i 'attribute.*(([a-z]'
For an example of the type of bugs this causes, try compiling this valid
C11 program (it's valid because 'noreturn' is reserved for use in the
user namespace unless you include <stdnoreturn.h>):
$ cat foo.c
#define noreturn __attribute__((noreturn))
#include <stdlib.h>
$ gcc -c -o foo.o -Wall foo.c
In file included from /usr/include/stdlib.h:11:0,
from foo.c:2:
foo.c:1:18: error: expected ')' before '__attribute__'
#define noreturn __attribute__((noreturn))
^
/usr/include/stdlib.h:66:28: error: expected ',' or ';' before ')' token
_VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn)));
^
* libc/machine/spu/spu_timer_internal.h: Decorate attribute names
with __, for namespace safety.
* libc/machine/xscale/machine/profile.h: Likewise.
* libc/include/stdlib.h: Likewise.
* libc/include/_ansi.h: Likewise.
* libc/include/sys/unistd.h: Likewise.
* libc/sys/linux/linuxthreads/libc-symbols.h: Likewise.
* libc/sys/linux/linuxthreads/internals.h: Likewise.
* libc/sys/linux/machine/i386/weakalias.h: Likewise.
* libc/sys/linux/machine/i386/dl-procinfo.h: Likewise.
* libc/sys/linux/machine/i386/dl-machine.h: Likewise.
* libc/sys/linux/libc-symbols.h: Likewise.
* libc/sys/linux/iconv/gconv_charset.h: Likewise.
* libc/sys/linux/include/resolv.h: Likewise.
* libc/sys/linux/sys/unistd.h: Likewise.
* libc/sys/linux/dl/atomicity.h: Likewise.
* libc/sys/linux/dl/dynamic-link.h: Likewise.
* libc/sys/linux/dl/ldsodefs.h: Likewise.
2014-08-01 15:44:51 +00:00
Corinna Vinschen
81fd6210c0
* configure.host: Remove or16 and or32 targets and add or1k.
...
* libc/include/machine/ieeefp.h: Replace or32 with or1k.
* libc/machine/configure.in: Add or1k subdirectory.
* libc/machine/or1k/configure.in: New file.
* libc/machine/or1k/Makefile.am: New file.
* libc/machine/or1k/setjmp.S: New file.
2014-07-17 18:43:05 +00:00
Richard Earnshaw
87375c75b3
[aarch64] Add memchr.
...
2014-07-11 K�vin Petit <kevin.petit@arm.com>
* libc/machine/aarch64/memchr.S: New file.
* libc/machine/aarch64/memchr-stub.c: New file.
* libc/machine/aarch64/Makefile.am: Add the new files.
* libc/machine/aarch64/Makefile.in: Regenerated.
2014-07-11 09:10:50 +00:00
Richard Earnshaw
7bd00a0bef
2014-07-07 Pavel Pisa <pisa@cmp.felk.cvut.cz>
...
Richard Earnshaw <rearnsha@arm.com>
* libc/machine/arm/memchr.S (.arch): Require revision ARMv6t2.
2014-07-07 13:58:35 +00:00
Richard Earnshaw
deda48a9fb
* libc/machine/aarch64/strchrnul.S: New file.
...
* libc/machine/aarch64/strchrnul-stub.c: New file.
* libc/machine/aarch64/Makefile.am: Add them to build list.
* libc/machine/aarch64/Makefile.in: Regenerated.
2014-06-11 10:42:54 +00:00
Richard Earnshaw
5efd066df2
* libc/machine/aarch64/strchr.S: New file
...
* libc/machine/aarch64/strchr-stub.c: New file
* libc/machine/aarch64/Makefile.am: Add them to build list.
* libc/machine/aarch64/Makefile.in: Regenerated.
2014-06-10 14:04:31 +00:00
Corinna Vinschen
e9eef8ec14
* libc/machine/sparc/setjmp.S (longjmp): Use register g1 instead of g6.
2014-05-15 13:14:25 +00:00
Richard Earnshaw
742e729664
* libc/machine/arm/strcmp-arm-tiny.S: New file.
...
* libc/machine/arm/strcmp-armv4.S: New file.
* libc/machine/arm/strcmp-armv4t.S: New file.
* libc/machine/arm/strcmp-armv6.S: New file.
* libc/machine/arm/strcmp-armv7.S: New file.
* libc/machine/arm/strcmp-armv7m.S: New file.
* libc/machine/arm/strcmp.S: Replace with wrapper for various
implementations.
* libc/machine/arm/Makefile.am (strcmp.o, strcmp.obj): Add
dependencies.
* libc/machine/arm/Makefile.in: Regenerated.
2014-04-22 12:16:22 +00:00
DJ Delorie
0f05e4b24f
* libc/machine/rl78/setjmp.S: Add RL78/G10 support.
2014-04-09 21:35:43 +00:00
Richard Earnshaw
31eade549d
* libc/machine/arm/acle-compat.h: New file.
...
* libc/machine/arm/arm_asm.h: Use it.
2014-03-27 13:26:39 +00:00
Jeff Johnston
7f6278bc08
2014-03-21 Sabrina Ni <sabrinanitw@gmail.com>
...
* libc/machine/nds32/configure: Regenerated.
* libc/machine/nds32/configure.in: Add AC_NOEXECUTABLES.
2014-03-21 21:15:15 +00:00
Jeff Johnston
ef073b8f82
2014-03-21 Sabrina Ni <sabrinanitw@gmail.com>
...
* libc/machine/nds32/Makefile.am: Use C code implemented memcpy,
memset for 'ISA V3M'.
* libc/machine/nds32/Makefile.in: Generated.
* libc/machine/nds32/configure: Generated.
* libc/machine/nds32/configure.in: Detect IS_NDS32_ISA_V3M.
2014-03-21 21:09:46 +00:00
Jeff Johnston
c18decccef
2014-03-21 Sabrina Ni <sabrinanitw@gmail.com>
...
* libc/machine/nds32/setjmp.S: Keep jmp_buff sync with GDB.
2014-03-21 20:28:57 +00:00
Jeff Johnston
5805cb1f8c
2014-03-21 Sabrina Ni <sabrinanitw@gmail.com>
...
* libc/machine/nds32/setjmp.S: Optimize.
2014-03-21 20:09:10 +00:00
Jeff Johnston
5ac847c629
2013-12-23 Jeff Johnston <jjohnstn@redhat.com>
...
* NEWS: Update with 2.1.0 info.
* README: Ditto.
* acinclude.m4: Change version number to 2.1.0.
* aclocal.m4: Regenerated.
* configure: Ditto.
* Makefile.in: Regenerated.
* doc/aclocal.m4: Ditto.
* doc/configure: Ditto.
* libc/*/aclocal.m4: Ditto.
* libc/*/configure: Ditto.
* libc/libc.texinfo: Ditto.
* libm/*/aclocal.m4: Ditto.
* libm/*/configure: Ditto.
* libm/libm.texinfo: Ditto.
* libc/sys/linux/shared.ld: Add VERS_2.1
2013-12-23 20:45:10 +00:00
Corinna Vinschen
963addfa27
* libc/machine/mips/setjmp.S: Fix definition of macro FPR_LAYOUT
...
for ABI == N32.
2013-11-27 12:45:56 +00:00
Jeff Johnston
a00d2722b6
2013-11-26 Matheus Almeida <Matheus.Almeida@imgtec.com>
...
* libc/include/machine/setjmp.h: Add support for __mips_fpr being
64 and treat it the same as if __mips64 is set.
* libc/machine/mips/setjmp.S: Ditto, plus add checks for _MIPS_SIM
being _ABIN32 and _ABI64.
2013-11-26 19:58:19 +00:00
Joel Sherrill
a7c3258311
2013-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
...
* libc/posix/readdir_r.c: Add restrict keyword.
* libc/machine/spu/sys/dirent.h, libc/sys/decstation/sys/dirent.h,
libc/sys/linux/sys/dirent.h, libc/sys/rtems/sys/dirent.h,
libc/sys/sparc64/sys/dirent.h, libc/sys/sun4/sys/dirent.h,
libc/sys/sysvi386/sys/dirent.h: Add readdir_r() prototype.
2013-11-21 16:44:39 +00:00
Joel Sherrill
481cb456a4
2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com>
...
* libc/include/stdio.h, libc/machine/powerpc/vfscanf.c,
libc/machine/spu/fgetpos.c, libc/machine/spu/fgets.c,
libc/machine/spu/fopen.c, libc/machine/spu/fputs.c,
libc/machine/spu/fread.c, libc/machine/spu/freopen.c,
libc/machine/spu/fwrite.c, libc/machine/spu/setbuf.c,
libc/machine/spu/vfprintf.c, libc/machine/spu/vfscanf.c,
libc/machine/spu/vsnprintf.c, libc/machine/spu/vsprintf.c,
libc/machine/spu/vsscanf.c, libc/stdio/asnprintf.c,
libc/stdio/asprintf.c, libc/stdio/dprintf.c,
libc/stdio/fgetpos.c, libc/stdio/fgets.c,
libc/stdio/fmemopen.c, libc/stdio/fopen.c,
libc/stdio/fprintf.c, libc/stdio/fputs.c,
libc/stdio/fread.c, libc/stdio/freopen.c,
libc/stdio/fscanf.c, libc/stdio/fwrite.c,
libc/stdio/printf.c, libc/stdio/scanf.c,
libc/stdio/setbuf.c, libc/stdio/snprintf.c,
libc/stdio/sprintf.c, libc/stdio/sscanf.c,
libc/stdio/vdprintf.c, libc/stdio/vprintf.c,
libc/stdio/vscanf.c, libc/stdio/vsnprintf.c,
libc/stdio/vsprintf.c, libc/stdio/vsscanf.c: Add restrict keyword.
2013-11-18 17:28:06 +00:00
Steve Ellcey
e828abfaea
2013-10-03 Steve Ellcey <sellcey@mips.com>
...
* libc/machine/mips/memset.c: Remove.
* libc/machine/mips/memset.S: New.
* libc/machine/mips/Makefile.am: Change memset.c to memset.S
* libc/machine/mips/Makefile.in: Regenerate.
2013-10-03 21:51:52 +00:00
Corinna Vinschen
b143d094ee
* libc/sys/linux/include/netdb.h, libc/sys/linux/net/getaddrinfo.c,
...
libc/sys/linux/net/getnameinfo.c: Add restrict keyword to getnameinfo()
and getaddrinfo() to increase standards compliance and match glibc.
* libc/include/string.h, libc/string/memccpy.c, libc/string/memcpy.c,
libc/string/stpcpy.c, libc/string/stpncpy.c, libc/string/strcat.c,
libc/string/strncat.c, libc/string/strncpy.c, libc/string/strtok.c,
libc/string/strtok_r.c, libc/string/strxfrm.c
libc/machine/microblaze/strcpy.c, libc/machine/xscale/memcpy.c,
libc/machine/cris/memcpy.c: Add __restrict to prototype to
increase standards compliance.
2013-07-23 07:05:31 +00:00
Jeff Johnston
d1b5846f29
2013-07-17 Janis Johnson <janisjo@codesourcery.com>
...
* libc/machine/powerpc/configure.in: Remove extra_sources; fix
extra_objs for powerpc*-*altivec.
* libc/machine/powerpc/Makefile.am: Define EXTRA_lib_a_SOURCES.
* libc/machine/powerpc/configure: Regenerated.
* libc/machine/powerpc/Makefile.in: Regenerated.
2013-07-17 16:38:04 +00:00
Corinna Vinschen
6041792ec6
* configure.host: Change to microblaze*.
...
* libc/include/machine/ieeefp.h: Add __MICROBLAZEEL__.
* libc/machine/microblaze/mb_endian.h: New file.
* newlib/libc/machine/microblaze/strcmp.c: Add little endian support.
* newlib/libc/machine/microblaze/strcpy.c: Likewise.
* newlib/libc/machine/microblaze/strlen.c: Likewise.
* configure.in: Change to microblaze*.
* configure: Regenerate.
* microblaze/xilinx.ld: Remove OUTPUT_FORMAT.
2013-07-16 07:48:53 +00:00
Jeff Johnston
f9a17f68c4
2013-07-09 Sabrina Ni <sabrina@andestech.com>
...
* libc/machine/nds32/Makefile.am (lib_a_SOURCES): Add abort.c, memcpy.S,
memset.S, strcmp.S, and strcpy.S.
* libc/machine/nds32/Makefile.in: Regenerated.
* libc/machine/nds32/{abort.c, memcpy.S, memset.S, strcmp.S, strcpy.S}: New.
2013-07-09 19:19:35 +00:00
Jeff Johnston
dc0cb474bb
2013-07-09 Sabrina Ni <sabrina@andestech.com>
...
* configure.host (machine_dir, syscall_dir, newlib_cflags):
Add settings for nds32*.
* libc/include/machine/ieeefp.h (IEEE_BIG_ENDIAN, IEEE_LITTLE_ENDIAN):
Ditto.
* libc/include/machine/setjmp.h (JBLEN): Ditto.
* libc/machine/configure.in: Add nds32 subdir.
* libc/machine/configure: Regenerated.
* libc/machine/nds32/Makefile.am: New.
* libc/machine/nds32/Makefile.in: New (autogenerated).
* libc/machine/nds32/aclocal.m4: New (autogenerated).
* libc/machine/nds32/configure.in: New.
* libc/machine/nds32/configure: New (autogenerated).
* libc/machine/nds32/setjmp.S: New.
2013-07-09 19:06:47 +00:00
Will Newton
5073668c61
memcpy-armv7a.S: Improve performance with misaligned buffers.
...
Adjust the conditions for entering the aligned copy loop to
improve performance on mutually misaligned buffer copies.
2013-07-01 Will Newton <will.newton@linaro.org>
* libc/machine/arm/memcpy-armv7a.S: Adjust entry to
aligned loop to improve misaligned copy performance.
2013-07-01 09:58:34 +00:00
Will Newton
c8af057907
strlen-armv7.S: Import latest strlen cortex-strings code.
...
Import the latest version of strlen from the Linaro cortex-strings
package. This version is faster across a variety of block size and
alignments on ARMv7.
newlib/ChangeLog:
2013-06-21 Will Newton <will.newton@linaro.org>
* libc/machine/arm/strlen-armv7.S: Import latest strlen
code from Linaro cortex-strings.
2013-06-21 09:10:37 +00:00
Corinna Vinschen
925e1c8157
* libc/machine/arm/strcmp.S: Use local labels.
2013-06-05 09:41:21 +00:00
Richard Earnshaw
ca1dd3a9b5
2013-06-03 Joey Ye <joey.ye@arm.com>
...
* libc/machine/arm/Makefile.am (MEMCPY_DEP): New define.
($(lpfx)memcpy.o, $(lpfx)memcpy.obj): Depend on MEMCPY_DEP.
* libc/machine/arm/Makefile.in: Regenerated.
* newlib/libc/machine/arm/memcpy-stub.c: Exclude armv7-m/armv7e-m.
* newlib/libc/machine/arm/memcpy-armv7m.S: New.
* newlib/libc/machine/arm/memcpy.S: Replace with wrapper code. Old
code moved to ...
* newlib/libc/machine/arm/memcpy-armv7a.S: ... here. Remove
redundant architecture check.
2013-06-03 14:02:10 +00:00
Jeff Johnston
d15bce48e7
2013-05-30 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/machine/powerpc/times.c: Moved to libgloss/rs6000.
* libc/machine/powerpc/Makefile.am: Remove times.c.
* libc/machine/powerpc/Makefile.in: Regenerated.
2013-05-30 22:44:41 +00:00
Richard Earnshaw
ef05ad03f2
* libc/macine/arm/strcpy.S: Explicitly set build attributes when
...
building for thumb1 targets.
2013-05-28 12:43:48 +00:00
DJ Delorie
2f2a304234
[newlib]
...
* configure.host (msp430): Add.
* libc/include/machine/ieeefp.h: Add MSP430 support.
* libc/include/machine/setjmp.h: Likewise.
* libc/include/sys/config.h: Likewise.
* libc/machine/configure.in (msp430): Add.
* libc/machine/configure: Regenerate.
* libc/machine/msp430: New directory.
[libgloss]
* configure.in (msp430*-*-elf): Add.
* configure: Regenerate.
* msp430: New directory.
2013-05-13 21:39:51 +00:00
Jeff Johnston
c16862d85b
2013-05-06 Sandra Loosemore <sandra@codesourcery.com>
...
* configure.host (machine_dir, sys_dir, syscall_dir, newlib_cflags):
Add settings for nios2*.
* libc/include/machine/ieeefp.h (IEEE_BIG_ENDIAN, IEEE_LITTLE_ENDIAN):
Likewise.
* libc/include/machine/setjmp.h (JBLEN, JBTYPE): Likewise.
* libc/machine/configure.in: Add nios2 subdir.
* libc/machine/configure: Regenerated.
* libc/machine/nios2/Makefile.am: New.
* libc/machine/nios2/Makefile.in: New (autogenerated).
* libc/machine/nios2/aclocal.m4: New (copied from mips version).
* libc/machine/nios2/configure.in: New.
* libc/machine/nios2/configure: New (autogenerated).
* libc/machine/nios2/setjmp.s: New.
2013-05-06 18:23:09 +00:00
Jeff Johnston
62f41c2b1c
2013-04-12 Will Newton <will.newton@linaro.org>
...
* libc/machine/arm/memcpy-stub.c: Use generic memcpy if unaligned
access is not enabled.
* libc/machine/arm/memcpy.S: Faster memcpy implementation for
Cortex A15 cores using NEON and VFP if available.
2013-04-12 22:12:29 +00:00
Corinna Vinschen
aa102a6a57
* libc/machine/mips/memcpy.S: Fix USE_PREFETCH check.
2013-02-19 07:31:04 +00:00
Marcus Shawcroft
450fe1bfa3
2013-01-17 Marcus Shawcroft <marcus.shawcroft@linaro.org>
...
* libc/machine/aarch64/strncmp.S: Correct arithmetic for
argument N values close to the maximum representable
value in an unsigned 64 bit value.
2013-01-17 14:53:32 +00:00
Marcus Shawcroft
78f66de6ce
2013-01-17 Marcus Shawcroft <marcus.shawcroft@linaro.org>
...
* libc/machine/aarch64/strnlen.S: Correct arithmetic for
argument N values close to the maximum representable
value in an unsigned 64 bit value.
2013-01-17 14:52:37 +00:00
Marcus Shawcroft
211f1ec717
2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org>
...
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES): Add
memcmp-stub.c and memcmp.S
* libc/machine/aarch64/Makefile.in: Regenerated.
* libc/machine/aarch64/memcmp-stub.c: New file.
* libc/machine/aarch64/memcmp.S: New file.
2013-01-10 13:02:19 +00:00
Marcus Shawcroft
ba8f05bcf5
2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org>
...
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES): Add
strnlen-stub.c and strnlen.S
* libc/machine/aarch64/Makefile.in: Regenerated.
* libc/machine/aarch64/strnlen-stub.c: New file.
* libc/machine/aarch64/strnlen.S: New file.
2013-01-10 13:00:40 +00:00
Marcus Shawcroft
82c3d37d07
2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org>
...
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES):
Add strlen.S and strlen-stub.c.
* libc/machine/aarch64/Makefile.in: Regenerated.
* libc/machine/aarch64/strlen-stub.c: New file.
* libc/machine/aarch64/strlen.S: New file.
2013-01-10 12:57:11 +00:00
Marcus Shawcroft
a8907bda23
2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org>
...
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES):
Add memmove.S and memmove-stub.c.
* libc/machine/aarch64/Makefile.in: Regenerated.
* libc/machine/aarch64/memmove-stub.c: New file.
* libc/machine/aarch64/memmove.S: New file.
2013-01-10 12:54:39 +00:00
Marcus Shawcroft
2edd103558
2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org>
...
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES): Re-ordered.
Add strncmp.S and strncmp-stub.c.
* libc/machine/aarch64/Makefile.in: Regenerated.
* libc/machine/aarch64/strncmp-stub.c: New file.
* libc/machine/aarch64/strncmp.S: New file.
2013-01-10 12:51:13 +00:00
Marcus Shawcroft
080e96f57c
2013-01-10 Marcus Shawcroft <marcus.shawcroft@linaro.org>
...
* libc/machine/aarch64/Makefile.am (lib_a_SOURCES): Add
memcpy.c memcpy-stub.c memset.S memset-stub.c strcmp.S
strcmp-stub.c.
* libc/machine/aarch64/Makefile.in: Regenerated.
* libc/machine/aarch64/memcpy-stub.c: New file.
* libc/machine/aarch64/memcpy.S: New file.
* libc/machine/aarch64/memset-stub.c: New file.
* libc/machine/aarch64/memset.S: New file.
* libc/machine/aarch64/strcmp.S: New file.
* libc/machine/aarch64/strcmp-stub.c: New file.
2013-01-10 12:44:50 +00:00
Jeff Johnston
a3f10f1384
2013-01-07 Steve Ellcey <sellcey@mips.com>
...
* libc/machine/mips/memcpy.S (memcpy): Check if _MIPS_SIM is set.
2013-01-07 21:29:39 +00:00
Jeff Johnston
f2d223bd0f
2012-12-20 Jeff Johnston <jjohnstn@redhat.com>
...
* NEWS: Update with 2.0.0 info.
* README: Ditto.
* acinclude.m4: Change version number to 2.0.0.
* aclocal.m4: Regenerated.
* configure: Ditto.
* Makefile.in: Regenerated.
* doc/aclocal.m4: Ditto.
* doc/configure: Ditto.
* libc/*/aclocal.m4: Ditto.
* libc/*/configure: Ditto.
* libc/libc.texinfo: Ditto.
* libm/*/aclocal.m4: Ditto.
* libm/*/configure: Ditto.
* libm/libm.texinfo: Ditto.
* libc/sys/linux/shared.ld: Add VERS_2.0
2012-12-20 21:10:27 +00:00
Jeff Johnston
d7281d547f
2012-12-14 Yufeng Zhang <yufeng.zhang@arm.com>
...
* libc/machine/aarch64/machine/_types.h: New file; define _ssize_t
as long.
2012-12-14 20:45:51 +00:00
Jeff Johnston
a5149a541a
2012-12-11 Steve Ellcey <sellcey@mips.com>
...
* libc/machine/mips/memcpy.c: Remove.
* libc/machine/mips/memcpy.S: New.
* libc/machine/mips/Makefile.am (lib_a_CCASFLAGS): Add
-D_COMPILING_NEWLIB.
(lib_a_CFLAGS): Ditto.
2012-12-11 21:37:59 +00:00
Corinna Vinschen
b8637f43b0
* libc/machine/arm/strcmp.S (compute_return_value): Fix return value.
...
* testsuite/newlib.string/strcmp-1.c (main): Add new test cases.
2012-11-30 09:31:38 +00:00
Steve Ellcey
d3740f4856
2012-11-12 Steve Ellcey <sellcey@mips.com>
...
* libc/machine/mips/machine/asm.h: New.
* libc/machine/mips/machine/regdef.h: Update register definitions
for different ABI's.
2012-11-12 23:49:55 +00:00
Anthony Green
ffa2dd6787
Minor optimization and bug fix for moxie.
2012-10-27 15:57:12 +00:00
DJ Delorie
2b74bec6c9
* libc/machine/rl78/setjmp.S: Convert from CPP macros to GAS
...
macros, to avoid dependence on the line separation character.
* rl78/crt0.S (_interrupt_vector_table): Convert from CPP macros
to GAS macros, to avoid dependence on the line separation
character.
2012-10-03 20:24:50 +00:00
Jeff Johnston
c3fe5bf771
2012-09-26 Ian Bolton <ian.bolton@arm.com>
...
Jim MacArthur <jim.macarthur@arm.com>
Marcus Shawcroft <marcus.shawcroft@arm.com>
Nigel Stephens <nigel.stephens@arm.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Richard Earnshaw <rearnsha@arm.com>
Sofiane Naci <sofiane.naci@arm.com>
Tejas Belagod <tejas.belagod@arm.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* configure.host: Add AArch64.
* libc/include/machine/ieeefp.h: Add AArch64.
* libc/include/machine/setjmp.h: Add AArch64.
* libc/include/machine/time.h: Add AArch64.
* libc/include/sys/config.h: Add AArch64.
* libc/machine/aarch64/Makefile.am: New file.
* libc/machine/aarch64/Makefile.in: Generated.
* libc/machine/aarch64/aclocal.m4: Generated.
* libc/machine/aarch64/configure: Generated.
* libc/machine/aarch64/configure.in: New file.
* libc/machine/aarch64/setjmp.S: New file.
* libc/machine/configure.in: Add AArch64.
* libc/machine/configure: Re-generated.
* libm/machine/aarch64/Makefile.am: New file.
* libm/machine/aarch64/Makefile.in: Generated.
* libm/machine/aarch64/aclocal.m4: Generated.
* libm/machine/aarch64/configure: Generated.
* libm/machine/aarch64/configure.in: New file.
* libm/machine/aarch64/s_ceil.c: New file.
* libm/machine/aarch64/s_floor.c: New file.
* libm/machine/aarch64/s_fma.c: New file.
* libm/machine/aarch64/s_fmax.c: New file.
* libm/machine/aarch64/s_fmin.c: New file.
* libm/machine/aarch64/s_llrint.c: New file.
* libm/machine/aarch64/s_llround.c: New file.
* libm/machine/aarch64/s_lrint.c: New file.
* libm/machine/aarch64/s_lround.c: New file.
* libm/machine/aarch64/s_nearbyint.c: New file.
* libm/machine/aarch64/s_rint.c: New file.
* libm/machine/aarch64/s_round.c: New file.
* libm/machine/aarch64/s_trunc.c: New file.
* libm/machine/aarch64/sf_ceil.c: New file.
* libm/machine/aarch64/sf_floor.c: New file.
* libm/machine/aarch64/sf_fma.c: New file.
* libm/machine/aarch64/sf_fmax.c: New file.
* libm/machine/aarch64/sf_fmin.c: New file.
* libm/machine/aarch64/sf_llrint.c: New file.
* libm/machine/aarch64/sf_llround.c: New file.
* libm/machine/aarch64/sf_lrint.c: New file.
* libm/machine/aarch64/sf_lround.c: New file.
* libm/machine/aarch64/sf_nearbyint.c: New file.
* libm/machine/aarch64/sf_rint.c: New file.
* libm/machine/aarch64/sf_round.c: New file.
* libm/machine/aarch64/sf_trunc.c: New file.
* libm/machine/configure.in: Add AArch64.
* libm/machine/configure: Re-generated.
2012-09-26 20:06:50 +00:00
Corinna Vinschen
bb39d14401
* libc/machine/cr16/asm.h: Added some missing instructions
...
and removed few unsupported instructions of cr16 target.
2012-05-21 11:55:15 +00:00
Jeff Johnston
eab1d3e125
2012-03-09 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/machine/setjmp-dj.h: Modify license to include
modification in clause as permitted by DJ Delorie.
* libc/machine/arm/access.c: Ditto.
* libc/machine/i386/setjmp.S: Ditto.
* libc/sys/h8300hms/sys/file.h: Ditto.
* libc/sys/linux/machine/i386/setjmp.S: Ditto.
* libc/sys/sysmec/access.c: Ditto.
* libc/sys/sysnecv850/access.c: Ditto.
2012-03-09 20:26:39 +00:00
Jeff Johnston
9edde1d2c4
2012-02-21 Jeremy Bennett <jeremy.bennett@embecosm.com>
...
Alan Lehotsky <apl@alum.mit.edu>
Joern Rennecke <joern.rennecke@embecosm.com>
* configure.host: Add Epiphany support.
* libc/include/machine/ieeefp.h: Likewise.
* libc/include/machine/setjmp.h: Likewise.
* libc/machine/configure.in, libc/sys/configure.in: Likewise.
* libc/machine/configure, libc/sys/configure: Regenerate.
* libc/machine/epiphany, libc/sys/epiphany: New directories.
* NEWS: Mention addition of Epiphany.
2012-02-21 22:34:31 +00:00
Corinna Vinschen
3543a40d5c
* libc/machine/arm/strcmp.S: New File.
...
* libc/machine/arm/strcmp.c: Deleted.
* libc/machine/arm/Makefile.am: Replaces strcmp.c with strcmp.S
* libc/machine/arm/Makefile.in: Regenerated.
* testsuite/newlib.string/strcmp-1.c: New file.
2012-02-09 10:42:14 +00:00
Jeff Johnston
e7c65aae83
2011-12-19 Jeff Johnston <jjohnstn@redhat.com>
...
* NEWS: Update with 1.20.0 info.
* README: Ditto.
* acinclude.m4: Change version number to 1.20.0.
* aclocal.m4: Regenerated.
* configure: Ditto.
* Makefile.in: Regenerated.
* doc/aclocal.m4: Ditto.
* doc/configure: Ditto.
* libc/*/aclocal.m4: Ditto.
* libc/*/configure: Ditto.
* libc/libc.texinfo: Ditto.
* libm/*/aclocal.m4: Ditto.
* libm/*/configure: Ditto.
* libm/libm.texinfo: Ditto.
* libc/sys/linux/shared.ld: Add VERS_1.20
2011-12-19 22:03:51 +00:00
DJ Delorie
d1fc77322f
[libgloss]
...
* configure.in: Add rl78.
* configure: Regenerate.
* rl78: New directory
[newlib]
* configure.host: Add rl78.
* libc/include/machine/ieeefp.h: Add rl78 support.
* libc/include/machine/setjmp.h: Add rl78 support.
* libc/machine/configure.in: Add rl78.
* libc/machine/rl78: New directory.
2011-11-29 06:33:49 +00:00
Nick Clifton
d6f6573a5f
* libc/machine/arm/Makefile.am (lib_a_SOURCES): Add memchr-stub.c,
...
memchr.S.
* libc/machine/arm/arm_asm.h: Add ifdef to allow it to be included
in .S files.
* libc/machine/arm/memchr-stub.c: New file - just selects what to
compile.
* libc/machine/arm/memchr.S: New file - ARMv6t2/v7 version.
* libc/machine/arm/Makefile.am (lib_a_SOURCES): Add strlen-armv7.S.
* libc/machine/arm/strlen-armv7.S: New file.
* libc/machine/arm/strlen.c: Add ifdef optimised code so it isn't
for v7 or 6t2.
* libc/machine/arm/Makefile.in: Regenerate.
2011-10-18 11:35:17 +00:00
Nick Clifton
de0ae33544
* libc/machine/arm/memcpy.S: Fix unaligned access copying.
2011-10-04 16:02:25 +00:00
Nick Clifton
341bf73d6d
* libc/machine/arm/memcpy.S: New file. Contains a hand coded
...
memcpy function optimized for the cortex-a15.
* libc/machine/arm/memcpy-stub.c: New file.
* libc/machine/arm/Makefile.am (lib_a_SOURCES): Add memcpy-stub.c,
memcpy.S.
* libc/machine/arm/Makefile.in: Regenerate.
2011-09-29 13:28:50 +00:00
Joseph Myers
25fa7e5ad6
libgloss:
...
* configure.in: Don't handle strongarm, ep9312 and xscale target
names.
* configure: Regenerate.
* libnosys/configure.in: Don't handle strongarm and thumb target
names.
* libnosys/configure: Regenerate.
newlib:
* configure.host: Don't handle ep9312, strongarm, xscale and thumb
target names.
* libc/machine/configure.in: Don't handle xscale target names.
* libc/machine/configure: Regenerate.
2011-06-14 13:40:48 +00:00
Nick Clifton
bf77fa00b7
* libc/machine/frv/setjmp.S: Fix typo in .size directive.
2011-03-23 11:01:05 +00:00
Corinna Vinschen
1991358fe5
* libc/machine/mips/strlen.c (strlen): Add delay slot for R3000.
2011-01-10 12:11:55 +00:00
Jeff Johnston
321b046c80
2010-12-16 Jeff Johnston <jjohnstn@redhat.com>
...
* NEWS: Update with 1.19.0 info.
* README: Ditto.
* MAINTAINERS: Update.
* acinclude.m4: Change version number to 1.19.0.
* aclocal.m4: Regenerated.
* configure: Ditto.
* Makefile.am: Fix stmp-targ-include target.
* Makefile.in: Regenerated.
* doc/aclocal.m4: Ditto.
* doc/configure: Ditto.
* libc/*/aclocal.m4: Ditto.
* libc/*/configure: Ditto.
* libc/libc.texinfo: Ditto.
* libm/*/aclocal.m4: Ditto.
* libm/*/configure: Ditto.
* libm/libm.texinfo: Ditto.
* libc/sys/linux/shared.ld: Add VERS_1.19
2010-12-16 21:59:17 +00:00
Jeff Johnston
874a87f8cd
2010-12-02 Jayant Sonar jayant.sonar@kpitcummins.com
...
Kaushik Phatak kaushik.phatak@kpitcummins.com
* configure.host: Add CR16 support.
* libc/include/machine/ieeefp.h: Ditto.
* libc/include/machine/setjmp.h: Ditto.
* libc/include/sys/config.h: Ditto.
* libc/machine/configure.in: Ditto
* libc/machine/configure: Regenerated
* libc/machine/cr16/aclocal.m4: New.
* libc/machine/cr16/configure.in: New
* libc/machine/cr16/configure: New
* libc/machine/cr16/getenv.c: New
* libc/machine/cr16/Makefile.am: New
* libc/machine/cr16/Makefile.in: New
* libc/machine/cr16/setjmp.S: New
* libc/machine/cr16/sys/asm.h: New
* libc/machine/cr16/sys/libh.h: New
* libc/machine/cr16/sys/syscall.h: New
2010-12-02 19:30:47 +00:00