[PATCH] fix spu open setting of "mode" argument

Jeff Johnston jjohnstn@redhat.com
Mon May 7 23:45:00 GMT 2007


Ok, patch applied.

-- Jeff J.

Patrick Mansfield wrote:
> Jeff - can you please apply?
> 
> The wrong flag is being checked to determine if "mode" should be used or
> not in spu open (O_CREAT is used when but we should reference
> JSRE_O_CREAT).
> 
> Just unconditionally set the mode.
> 
> libgloss/ChangeLog:
> 
> 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.
> 
> Index: my-base-quilt/libgloss/spu/open.c
> ===================================================================
> --- my-base-quilt.orig/libgloss/spu/open.c
> +++ my-base-quilt/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);
>  



More information about the Newlib mailing list