lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1LKDeQ-0002xz-7E@closure.thunk.org>
Date:	Tue, 06 Jan 2009 10:15:26 -0500
From:	"Theodore Ts'o" <tytso@....edu>
To:	Jan Beulich <jbeulich@...ell.com>, Sam Ravnborg <sam@...nborg.org>
cc:	linux-kernel@...r.kernel.org, ccache@...ts.samba.org
Subject: [REGRESSION] Recent change to kernel spikes out ccache/distcc

The following commit, ad7a953c, "kbuild: strip generated symbols from
*.ko" which was merged to the mainline last week (December 28th) has the
unfortunate side effct of making ccache useless.  That's because all
files are now built using a two step process.  First they are compiled
to assembly via "gcc -S -o .tmp_foo.s" and then assembled via "gcc" in a
separate step.  Unfortunately, ccache doesn't seem to be able to cache
either the compilation or the assembly step (and it may not be worth it
once the two steps are separated).

It would be nice if there was a CONFIG option which compiles files the
old-fashioned way, even if we lose the ability to strip the__crc_
symbols, just so that ccache can function again, since it can really
speed up the kernel development process.  Alternatively, maybe ccache
could somehow be taught a specialized way take the .c file, some kind of
kbuild-specified version identifier, and then output of the gcc -S,
assembly frobnication, gcc -c, objcopy pipeline that kbuild uses to
build an object file, so we can have cache the entire kbuild object
building process.

Or, if that's too complicated, maybe it would be worthwhile to have
kbuild create its own specialized ccache system?  Note that the last two
solutions rule out using distcc, unless we can encapsulate the build
process from a series of Makefile macros to a shell or C program, which
could then be injected to the remote host system to be executed by
distcc.  One value of doing that is the CRC or MD5 of the shell script
could be used as the version tag for the cache system.

In the short term, though, it would be nice if we could get back a
simple way of making a kernel  object file using just cc, so that ccache
and distcc could be functional again.   Does that seem reasonable?

Thanks,

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ