[PATCH 8/8] SPU pass errno to perror assist call
Patrick Mansfield
patmans@us.ibm.com
Tue Jun 19 16:03:00 GMT 2007
The assist call interface changed to take errno as the second argument to
perror, so perror on PPU can use the SPU errno, and not the PPU one.
newlib ChangeLog:
2007-06-18 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/perror.c: Pass errno as the second argument to
the assist call.
Index: quilt/newlib/libc/machine/spu/perror.c
===================================================================
--- quilt.orig/newlib/libc/machine/spu/perror.c
+++ quilt/newlib/libc/machine/spu/perror.c
@@ -1,17 +1,30 @@
#include <stdio.h>
+#include <errno.h>
#include "c99ppe.h"
#ifndef _REENT_ONLY
+typedef struct
+{
+ _CONST char* str;
+ unsigned int pad0[ 3 ];
+ int arg_errno;
+ unsigned int pad1[ 3 ];
+} c99_perror_t;
+
void
_DEFUN (perror, (s),
_CONST char *s)
{
+ c99_perror_t arg;
+
CHECK_STD_INIT(_REENT);
- __send_to_ppe(SPE_C99_SIGNALCODE, SPE_C99_PERROR, &s);
+ arg.str = s;
+ arg.arg_errno = errno;
+ __send_to_ppe(SPE_C99_SIGNALCODE, SPE_C99_PERROR, &arg);
return;
}
More information about the Newlib
mailing list