From: Marcus Shawcroft Date: Mon, 18 Nov 2013 09:53:46 +0000 (+0000) Subject: [ARM] Provide ftruncate() and truncate() stubs. X-Git-Tag: cygwin-1_7_26-release~64 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=c7091059138c4a30b18d84344d9dca460f7e50f6;p=newlib-cygwin.git [ARM] Provide ftruncate() and truncate() stubs. --- diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index 90b6e1766..4515f8efb 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,10 @@ +2013-11-18 Marcus Shawcroft + + * arm/ftruncate.c: New. + * arm/truncate.c: New. + * arm/Makefile.in (RDPMON_OBJS): Add ftruncate.o and truncate.o. + (rdimon-ftruncate.o, rdimon-truncate.o): New rule: + 2013-10-14 Ramana Radhakrishnan * arm/cpu-init/rdimon-aem.S: Disable for M class cores. diff --git a/libgloss/arm/Makefile.in b/libgloss/arm/Makefile.in index 8806277e4..ab5c9cbbf 100644 --- a/libgloss/arm/Makefile.in +++ b/libgloss/arm/Makefile.in @@ -68,7 +68,7 @@ REDBOOT_INSTALL = install-redboot RDPMON_CRT0 = rdpmon-crt0.o RDPMON_BSP = librdpmon.a -RDPMON_OBJS = syscalls.o libcfunc.o trap.o _exit.o _kill.o +RDPMON_OBJS = ftruncate.o libcfunc.o syscalls.o trap.o truncate.o _exit.o _kill.o RDPMON_SCRIPTS = rdpmon.specs RDPMON_INSTALL = install-rdpmon @@ -123,9 +123,15 @@ rdpmon-crt0.o: crt0.S rdimon-crt0.o: crt0.S $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $< +rdimon-ftruncate.o: ftruncate.c + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $< + rdimon-trap.o: trap.S $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $< +rdimon-truncate.o: truncate.c + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $< + rdimon-_exit.o: _exit.c $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $< diff --git a/libgloss/arm/ftruncate.c b/libgloss/arm/ftruncate.c new file mode 100644 index 000000000..da46fc5d7 --- /dev/null +++ b/libgloss/arm/ftruncate.c @@ -0,0 +1,32 @@ +/* Copyright (c) 2013 ARM Ltd. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +#include + +int +ftruncate (int file, off_t length) +{ + return -1; +} diff --git a/libgloss/arm/truncate.c b/libgloss/arm/truncate.c new file mode 100644 index 000000000..d53394a67 --- /dev/null +++ b/libgloss/arm/truncate.c @@ -0,0 +1,32 @@ +/* Copyright (c) 2013 ARM Ltd. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +#include + +int +truncate (const char *path, off_t length) +{ + return -1; +} diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 42d1add16..989e7fb4d 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,8 @@ +2013-11-18 Marcus Shawcroft + + * libc/include/sys/unistd.h (ftruncate, truncate): Define + for __arm__. + 2013-11-13 Gregory Pietsch * newlib/libc/stdlib/getopt.c (getopt_internal): Add missing braces. diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h index f1aacfa77..0667080f1 100644 --- a/newlib/libc/include/sys/unistd.h +++ b/newlib/libc/include/sys/unistd.h @@ -222,7 +222,7 @@ _READ_WRITE_RETURN_TYPE _EXFUN(_write, (int __fd, const void *__buf, size_t __nb int _EXFUN(_execve, (const char *__path, char * const __argv[], char * const __envp[] )); #endif -#if defined(__CYGWIN__) || defined(__rtems__) || defined(__sh__) || defined(__SPU__) +#if defined(__CYGWIN__) || defined(__rtems__) || defined (__arm__) || defined(__sh__) || defined(__SPU__) #if !defined(__INSIDE_CYGWIN__) int _EXFUN(ftruncate, (int __fd, off_t __length)); int _EXFUN(truncate, (const char *, off_t __length));