Re: gcc 3.4.6 fails to build 2.6.25 due to offsetof() not digestible by gas

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sam, please, tell to those guys, that shell must be `bash`, as Roman wanted.
Also, please, ask if they don't see my messages about simple `sed` and all
other stuff, or if just ignore me or like to express own ignorance.

Thanks.

On Fri, May 2, 2008 at 1:53 AM,  <sampo@xxxxxxxxxxx> wrote:
> Adrian Bunk wrote:
>  > On Thu, May 01, 2008 at 11:39:52PM +0200, Sam Ravnborg wrote:
>  >>
>  >> Do we know why it picked up the busy box version?
>
>  I think it has to do with my /bin/sh being the busybox ash. It seems
>  the ash prefers its built-in version over the one in path. This is
>  probably due to me having compiled busybox with some option. Sorry
>  for the confusion.
>
>  If I edit linux/Kbuild to reference explicitly /usr/bin/sed (which
>  is the gnu sed), the compile proceeds ok up to a point where
>  following happens
>
>  (snip)
>  make -f scripts/Makefile.build obj=arch/x86/vdso
>   gcc -Wp,-MD,arch/x86/vdso/vdso32/.int80.o.d  -nostdinc -isystem
>  /apps/gcc/3.4.6/lib/gcc/i686-pc-linux-gnu/3.4.6/include -D__KERNEL__
>  -Iinclude  -include include/linux/autoconf.h -D__ASSEMBLY__ -m32
>  -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1
>  -Iinclude/asm-x86/mach-default     -c -o arch/x86/vdso/vdso32/int80.o
>  arch/x86/vdso/vdso32/int80.S
>  arch/x86/vdso/vdso32/int80.S: Assembler messages:
>  arch/x86/vdso/vdso32/int80.S:68: Fatal error: cannot write to output file
>  make[1]: *** [arch/x86/vdso/vdso32/int80.o] Error 1
>  make: *** [arch/x86/vdso] Error 2
>
>  Here the problem appears to be that -c is supplied but there is no
>  source file to compile. The error message certainly is not
>  helpful. I'll investigate further.
>
>  >> Because from the commandline it was the correct sed - and I do not
>  >> know that make should do different.
>
>  Busybox ash compiled with certain options is the culprit for
>  this one.
>
>  > Good point.
>  >
>  > No, and we might actually have two issues:
>  > - what happened with the PATH (Sampo, is it really PATH or do you use an
>  >                                alias?)
>  > - we must somehow handle non-GNU sed's (either change the code or error)
>
>  I would wish at least busybox sed be accommodated. Looking at the
>  sed expression, it seems unnecessarily complicated. I'll try to formulate
>  a simpler expression that accomplishes the same net result, namely
>  transforming
>
>   ->IA32_SIGCONTEXT_ax $44 offsetof(struct sigcontext, ax)
>
>  to
>
>   #define IA32_SIGCONTEXT_ax 44 /* offsetof(struct sigcontext, ax) # */
>
>  It can't be as difficult as
>
>   "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:;
>  s:->::; p;}"
>
>  Cheers,
>  --Sampo
>
>  >>      Sam
>  >
>  > cu
>  > Adrian
-- 
sed 'sed && sh + olecom = love' << ''
-o--=O`C
 #oo'L O
<___=E M
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux