diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2007-05-07 22:22:05 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2007-05-07 22:22:05 +0000 |
commit | 8f954ad3f84969f71133a70e78bb5a290950dbdc (patch) | |
tree | f909d95add6c2b4f6c123da6032058fafa05ed9d | |
parent | b9db5292223d1e716a126b5db8a69391ba4ef73e (diff) | |
download | cygnal-8f954ad3f84969f71133a70e78bb5a290950dbdc.tar.gz cygnal-8f954ad3f84969f71133a70e78bb5a290950dbdc.tar.bz2 cygnal-8f954ad3f84969f71133a70e78bb5a290950dbdc.zip |
2007-05-07 Patrick Mansfield <patmans@us.ibm.com>
* spu/open.c: Unconditionally set the "mode" to fix a bug where
mode was not properly set.
-rw-r--r-- | libgloss/ChangeLog | 9 | ||||
-rw-r--r-- | libgloss/spu/open.c | 18 |
2 files changed, 11 insertions, 16 deletions
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index e796c1b3f..8f05be8d0 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,8 @@ +2007-05-07 Patrick Mansfield <patmans@us.ibm.com> + + * spu/open.c: Unconditionally set the "mode" to fix a bug where + mode was not properly set. + 2007-05-03 Kazu Hirata <kazu@codesourcery.com> * m68k/fido-_exit.c (_exit): Use stop #0x700. @@ -7,7 +12,7 @@ * m68k/fido.sc: Catch .text.*, .rodata.*, .data.*, .bss.*, .ctor.*, and .dtor.*. Wrap ctor/dtor-related sections with KEEP. -2007-04-04 Patrick Mansfield <patmans@us.ibm.com> +2007-04-04 Patrick Mansfield <patmans@us.ibm.com> * spu/syscalls.c: Rename _send_to_ppe __send_to_ppe, and set errno on return from the offload call. @@ -31,7 +36,7 @@ * spu/sbrk.c (sbrk): Adjust the stack pointer vector correctly so that GCC runtime stack checking works. Handle the backchain, too. -2007-02-21 Patrick Mansfield <patmans@us.ibm.com> +2007-02-21 Patrick Mansfield <patmans@us.ibm.com> * spu/gettimeofday.c: New file which adds SPU gettimeofday. * spu/jsre.h: Remove time, add gettimeofday. diff --git a/libgloss/spu/open.c b/libgloss/spu/open.c index c005f1d0a..c6882bd86 100644 --- a/libgloss/spu/open.c +++ b/libgloss/spu/open.c @@ -39,6 +39,7 @@ open (const char *filename, int flags, ...) { syscall_open_t sys ; syscall_out_t *psys_out = ( syscall_out_t* )&sys; + va_list ap; sys.pathname = ( unsigned int )filename; @@ -63,22 +64,11 @@ open (const char *filename, int flags, ...) sys.flags |= ( ( flags & O_WRONLY ) ? JSRE_O_WRONLY : 0 ); sys.flags |= ( ( flags & O_RDWR ) ? JSRE_O_RDWR : 0 ); - /* FIXME: we have to check/map all flags */ - if ((sys.flags & O_CREAT)) - { - va_list ap; - - va_start (ap, flags); - sys.mode = va_arg (ap, int); - va_end (ap); - - } - else - { - sys.mode = 0; - } + va_start (ap, flags); + sys.mode = va_arg (ap, int); + va_end (ap); __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_OPEN, &sys); |