maximilian attems
2010-Apr-02 14:32 UTC
[klibc] (fwd) dash fix for job control off warning
----- Forwarded message from "H. Peter Anvin" <hpa at zytor.com> ----- Date: Mon, 29 Mar 2010 15:07:01 -0700 From: "H. Peter Anvin" <hpa at zytor.com> To: maximilian attems <max at stro.at> Cc: Colin Watson <cjwatson at ubuntu.com>, klibc at zytor.com, Herbert Xu <herbert at gondor.apana.org.au>, Nobuhiro Iwamatsu <iwamatsu at nigauri.org> Subject: Re: [klibc] [git pull v3] dash, sh4, ipconfig, dprintf, fstype, README's On 03/27/2010 05:58 PM, maximilian attems wrote:> hello hpa! > > added on top of queue ext4 fix, that Ubuntu is carrying from cjwatson. > Got missed out in previous pull requests. Btrfs recognition in fstype. > > the patch queue contains sync with latest dash, sh4 fix by Debian porters, > dprintf usage in ipconfig, kinit and nfsmount instead of buggy DEBUG > macro. ipconfig memcpy usage to avoid strict aliasing warnings. > Some interesting README's got renamed for easier packaging. > Bonus is sparc32 socket test. >Pulled this; there seems to be a problem with the new version of dash with job control off. I can't tell if it is just a warning or is a manifest bug. The solution is simple: --- a/usr/dash/jobs.h +++ b/usr/dash/jobs.h @@ -105,5 +105,5 @@ int waitforjob(struct job *); int stoppedjobs(void); #if ! JOBS -#define setjobctl(on) /* do nothing */ +#define setjobctl(on) ((void)(on)) /* do nothing */ #endif ... to keep the code syntactically valid even when setjobctl() is used as the body of an if statement. -hpa ----- End forwarded message ----- -- maks
On Fri, Apr 02, 2010 at 04:32:20PM +0200, maximilian attems wrote:> > Pulled this; there seems to be a problem with the new version of dash > with job control off. I can't tell if it is just a warning or is a > manifest bug. > > The solution is simple: > > --- a/usr/dash/jobs.h > +++ b/usr/dash/jobs.h > @@ -105,5 +105,5 @@ int waitforjob(struct job *); > int stoppedjobs(void); > > #if ! JOBS > -#define setjobctl(on) /* do nothing */ > +#define setjobctl(on) ((void)(on)) /* do nothing */ > #endif > > ... to keep the code syntactically valid even when setjobctl() is used > as the body of an if statement.So when exactly is this needed? Can you give an example? Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert at gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
maximilian attems
2010-Apr-02 14:47 UTC
[klibc] (fwd) dash fix for job control off warning
On Fri, Apr 02, 2010 at 10:42:20PM +0800, Herbert Xu wrote:> On Fri, Apr 02, 2010 at 04:32:20PM +0200, maximilian attems wrote: > > > > Pulled this; there seems to be a problem with the new version of dash > > with job control off. I can't tell if it is just a warning or is a > > manifest bug. > > > > The solution is simple: > > > > --- a/usr/dash/jobs.h > > +++ b/usr/dash/jobs.h > > @@ -105,5 +105,5 @@ int waitforjob(struct job *); > > int stoppedjobs(void); > > > > #if ! JOBS > > -#define setjobctl(on) /* do nothing */ > > +#define setjobctl(on) ((void)(on)) /* do nothing */ > > #endif > > > > ... to keep the code syntactically valid even when setjobctl() is used > > as the body of an if statement. > > So when exactly is this needed? Can you give an example?usr/dash/trap.c: In function `exitshell': usr/dash/trap.c:376: warning: suggest braces around empty body in an `if' statement exitshell() has: /* * Disable job control so that whoever had the foreground before we * started can get it back. */ if (likely(!setjmp(loc.loc))) setjobctl(0); aboves patch fixes this gcc warning for me, but I still see: KLIBCCC usr/dash/trap.o usr/dash/trap.c: In function ???exitshell???: usr/dash/trap.c:352: warning: variable ???status??? might be clobbered by ???longjmp??? or ???vfork???
Apparently Analagous Threads
- [patch v2] dash fix for job control off warning
- [git pull v3] dash, sh4, ipconfig, dprintf, fstype, README's
- [git pull] dash, sh4, README's
- [git pull v4] dash, sh4, ipconfig, dprintf, fstype, README's
- [klibc:update-dash] dash: [BUILTIN] Exit without arguments in a trap should use status outside traps