Fix headers_install for x86-64 (now with less whitespace damage!)
PATCH 1/1 Fix headers_install for x86-64 (now with less whitespace damage!)
A bug in headers_install for ARCH=x86_64 yields an asm/ directory full of files all of which are using the same #ifdef guard, "__ASM_STUB_" with no postfix. So the second and later asm files #included in the same C file (often through standard headers like ioctl.h) yields no symbols.
--
There's a missing semicolon after the assignment to FNAME (so the assignment of STUBDEF on the next line doesn't see the value), and it helps to export variables before calling a subshell.
Second try, telling Kmail not to wordwrap inappropriately. (I am up waaaay too early to get ready for OLS...)
scripts/Makefile.headersinst +2 -2
@@ -108,8 +108,8 @@ quiet_cmd_gen = GEN $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) cmd_gen = \ -FNAME=$(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$@) \ -STUBDEF=__ASM_STUB_`echo $$FNAME | tr a-z.- A-Z__`; \ +export FNAME=$(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$@); \ +export STUBDEF=__ASM_STUB_`echo $$FNAME | tr a-z.- A-Z__`; \ (echo "/* File autogenerated by 'make headers_install' */" ; \ echo "\#ifndef $$STUBDEF" ; \ echo "\#define $$STUBDEF" ; \
Signature · 2 lines
"One of my most productive days was throwing away 1000 lines of code." - Ken Thompson.
Quoted 6 lines · Rob Landley
Signed-off-by Rob Landley <[email protected]>A bug in
headers_installfor ARCH=x86_64 yields an asm/ directory full of files all of which are using the same #ifdef guard, "__ASM_STUB_" with no postfix. So the second and later asm files #included in the same C file (often through standard headers likeioctl.h) yields no symbols.
Interesting. It works here with bash 3.2 -- I thought it was the _first_ shell which expanded $FNAME and $STUBDEF inside the parentheses. Which shell are you using?
Is it sufficient just to add the missing semicolon after FNAME=...?
Signature · 1 line
dwmw2
Quoted 11 lines · On Tuesday 26 June 2007 10:03:49 David Woodhouse wrote:
Quoted 6 lines · Rob Landley
Signed-off-by Rob Landley <[email protected]>A bug in
headers_installfor ARCH=x86_64 yields an asm/ directory full
of files all of which are using the same #ifdef guard, "__ASM_STUB_" with no postfix. So the second and later asm files #included in the same C file (often through standard headers likeioctl.h) yields no symbols.Interesting. It works here with bash 3.2 -- I thought it was the _first_ shell which expanded $FNAME and $STUBDEF inside the parentheses. Which shell are you using?
Stock Ubuntu 7.04 comes with /bin/sh pointing to the Dumb-Ass SHell. (Motto:
If it's not explicitly mentioned in posix, and we accidentally support it, let us know so we can remove it!)
Quoted 1 line
Is it sufficient just to add the missing semicolon after FNAME=...?
Huh. Apparently, yes it is. (I thought I'd tried that and it hadn't worked, but I just tried it again and it worked, so ok. It's before noon, don't expect accuracy from me yet today...)
Rob
Signature · 2 lines
"One of my most productive days was throwing away 1000 lines of code." - Ken Thompson.