Commit: MSP430: Libgloss: Add unlink system call
Nick Clifton
nickc@redhat.com
Wed Apr 30 11:29:00 GMT 2014
Hi Guys,
I am applying the patch below to fix a couple of problems with the
MSP430 port of the libgloss library. The first is that the unlink
system call was missing. The second is that some obsolete linker
scripts were still being installed.
Cheers
Nick
libgloss/ChangeLog
2014-04-30 Nick Clifton <nickc@redhat.com>
* msp430/Makefile.in (NOSYS_OBJS): Add unlink.o.
(SCRIPTS): Remove msp430F5438A-s.ld and msp430F5438A-s.ld.
* unlink.c: New file.
Index: libgloss/msp430/Makefile.in
===================================================================
RCS file: /cvs/src/src/libgloss/msp430/Makefile.in,v
retrieving revision 1.3
diff -u -3 -p -r1.3 Makefile.in
--- libgloss/msp430/Makefile.in 30 Jan 2014 02:46:34 -0000 1.3
+++ libgloss/msp430/Makefile.in 30 Apr 2014 11:24:49 -0000
@@ -1,4 +1,4 @@
-# Copyright (c) 2008, 2009, 2011, 2013 Red Hat, Inc. All rights reserved.
+# Copyright (c) 2008-2014 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing to use, modify,
# copy, or redistribute it subject to the terms and conditions of the BSD
@@ -56,14 +56,15 @@ OBJCOPY = `if [ -f ${objroot}/../binutil
then echo ${objroot}/../binutils/objcopy ; \
else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
-SCRIPTS = $(srcdir)/msp430.ld $(srcdir)/msp430-sim.ld
+SCRIPTS = $(srcdir)/msp430.ld
+SCRIPTS += $(srcdir)/msp430-sim.ld
SCRIPTS += $(srcdir)/msp430xl-sim.ld
-SCRIPTS += $(srcdir)/msp430F5438A-s.ld
-SCRIPTS += $(srcdir)/msp430F5438A-l.ld
+SCRIPTS += $(srcdir)/intr_vectors.ld
CRT = gcrt0.o crt0.o crt0-minrt.o crtn.o crtn-minrt.o
SIM_BSP = libsim.a
LIBNOSYS = libnosys.a
+LIB_CRT = libcrt.a
SIM_OBJS = syscalls.o \
cio.o \
@@ -73,12 +74,9 @@ SIM_OBJS = syscalls.o \
NOSYS_OBJS = nosyscalls.o \
cio.o \
write.o \
+ unlink.o \
sbrk.o
-SCRIPTS += $(srcdir)/intr_vectors.ld
-
-LIB_CRT = libcrt.a
-
# Each crt_*.o is built from crt0.S using -DL*. crt0.o is built from
# crt0.s with -DL0 via the default rule below.
CRT_OBJS = \
*** /dev/null 2014-04-30 09:23:07.177833682 +0100
--- libgloss/msp430/unlink.c 2014-03-07 09:38:08.720679462 +0000
***************
*** 0 ****
--- 1,25 ----
+ #include <string.h>
+
+ #include "cio.h"
+
+ signed int
+ unlink (const char * name)
+ {
+ unsigned len = strlen (name);
+
+ if (len >= CIO_BUF_SIZE)
+ return -1;
+
+ __CIOBUF__.length[0] = len;
+ __CIOBUF__.length[1] = len >> 8;
+ __CIOBUF__.parms[0] = CIO_UNLINK;
+ __CIOBUF__.parms[1] = len;
+ __CIOBUF__.parms[2] = len >> 8;
+ memcpy (__CIOBUF__.buf, name, len);
+
+ _libgloss_cio_hook ();
+
+ return __CIOBUF__.parms[0] + __CIOBUF__.parms[1] * 256;
+ }
+
+
More information about the Newlib
mailing list