Mailing List Archive

Re: + git-klibc-mktemp-fix.patch added to -mm tree
On Sat, Apr 08, 2006 at 12:05:54AM -0700, akpm@osdl.org wrote:
> diff -puN usr/dash/mkbuiltins~git-klibc-mktemp-fix usr/dash/mkbuiltins
> --- 25/usr/dash/mkbuiltins~git-klibc-mktemp-fix Sat Apr 8 14:51:11 2006
> +++ 25-akpm/usr/dash/mkbuiltins Sat Apr 8 14:51:11 2006
> @@ -37,7 +37,7 @@
>
> tempfile=tempfile
> if ! type tempfile > /dev/null 2>&1; then
> - tempfile=mktemp
> + tempfile="mktemp /tmp/tmp.XXXXXX"

Shouldn't that be:
> + tempfile="$(mktemp /tmp/tmp.XXXXXX)"

Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: + git-klibc-mktemp-fix.patch added to -mm tree [ In reply to ]
Sam Ravnborg wrote:
> On Sat, Apr 08, 2006 at 12:05:54AM -0700, akpm@osdl.org wrote:
>> diff -puN usr/dash/mkbuiltins~git-klibc-mktemp-fix usr/dash/mkbuiltins
>> --- 25/usr/dash/mkbuiltins~git-klibc-mktemp-fix Sat Apr 8 14:51:11 2006
>> +++ 25-akpm/usr/dash/mkbuiltins Sat Apr 8 14:51:11 2006
>> @@ -37,7 +37,7 @@
>>
>> tempfile=tempfile
>> if ! type tempfile > /dev/null 2>&1; then
>> - tempfile=mktemp
>> + tempfile="mktemp /tmp/tmp.XXXXXX"
>
> Shouldn't that be:
>> + tempfile="$(mktemp /tmp/tmp.XXXXXX)"
>

No, it's invoked later on as:

temp=$($tempfile)
temp2=$($tempfile)

Either which way; I have a better fix for the bison issue (this all has
to do with the fact that make's handling of tools that output more than
one file at a time is at the very best insane); however, I'm getting
rather unhappy with some of the code in dash.

In particular, mksyntax.c seems to assume it runs on the same machine
that the resulting code is going to execute on, for example, it tries to
detect whether or not "char" is signed, but that doesn't work when
cross-compiling.

dash isn't actually necessary in the in-kernel build, although it's a
very nice bonus for customizing initramfs to have a shell to glue things
together with.

Herbert: can the code be restructured with appropriate casts so that
signed/unsigned is factored out of mksyntax? As it currently stands,
it's not cross-compile-safe, which is unacceptable.

-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: + git-klibc-mktemp-fix.patch added to -mm tree [ In reply to ]
Sam Ravnborg <sam@ravnborg.org> wrote:
> On Sat, Apr 08, 2006 at 12:05:54AM -0700, akpm@osdl.org wrote:

>> diff -puN usr/dash/mkbuiltins~git-klibc-mktemp-fix usr/dash/mkbuiltins
>> --- 25/usr/dash/mkbuiltins~git-klibc-mktemp-fix Sat Apr 8 14:51:11 2006
>> +++ 25-akpm/usr/dash/mkbuiltins Sat Apr 8 14:51:11 2006

>> - tempfile=mktemp
>> + tempfile="mktemp /tmp/tmp.XXXXXX"
>
> Shouldn't that be:
>> + tempfile="$(mktemp /tmp/tmp.XXXXXX)"

No. You should use tempfile="$(mktemp ${TMPDIR:-/tmp}/tmp.XXXXXX)"
(or mktemp -t, if it's portable enough)

Besides that, tmp.XXXXXX should be replayed using a better name.

</nitpick>
--
Ich danke GMX dafür, die Verwendung meiner Adressen mittels per SPF
verbreiteten Lügen zu sabotieren.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: + git-klibc-mktemp-fix.patch added to -mm tree [ In reply to ]
On Sat, Apr 08, 2006 at 01:27:06PM -0700, H. Peter Anvin wrote:
>
> Herbert: can the code be restructured with appropriate casts so that
> signed/unsigned is factored out of mksyntax? As it currently stands,
> it's not cross-compile-safe, which is unacceptable.

Sure, I'll send you a patch to convert it to always use unsigned char.
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: + git-klibc-mktemp-fix.patch added to -mm tree [ In reply to ]
"H. Peter Anvin" (on Sat, 08 Apr 2006 13:27:06 -0700) wrote:
>Either which way; I have a better fix for the bison issue (this all has
>to do with the fact that make's handling of tools that output more than
>one file at a time is at the very best insane)

Hit the same problem back in the 2.5 kbuild days, and worked around it
with some dummy dependency rules. Like this one for bison/yacc.

side_effect(aicasm_gram.tab.h aicasm_gram.tab.c)

which expands to

$(objtree)/aicasm_gram.tab.h: $objtree/aicasm_gram.tab.c
@/bin/true

That forces make to wait until aicasm_gram.tab.c is built before using
aicasm_gram.tab.h, and allows the following code to depend on either
aicasm_gram.tab.h or aicasm_gram.tab.c without any races. The command
should not get executed, but you still need a command to keep make
happy.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Re: + git-klibc-mktemp-fix.patch added to -mm tree [ In reply to ]
Keith Owens wrote:
> "H. Peter Anvin" (on Sat, 08 Apr 2006 13:27:06 -0700) wrote:
>> Either which way; I have a better fix for the bison issue (this all has
>> to do with the fact that make's handling of tools that output more than
>> one file at a time is at the very best insane)
>
> Hit the same problem back in the 2.5 kbuild days, and worked around it
> with some dummy dependency rules. Like this one for bison/yacc.
>
> side_effect(aicasm_gram.tab.h aicasm_gram.tab.c)
>
> which expands to
>
> $(objtree)/aicasm_gram.tab.h: $objtree/aicasm_gram.tab.c
> @/bin/true
>
> That forces make to wait until aicasm_gram.tab.c is built before using
> aicasm_gram.tab.h, and allows the following code to depend on either
> aicasm_gram.tab.h or aicasm_gram.tab.c without any races. The command
> should not get executed, but you still need a command to keep make
> happy.

A better way to do it for something like yacc/bison is to use a pattern
rule. Having two things on the LHS means different things for explicit
and for pattern rules!

-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/