mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Quick way to get preprocessor output???
@ 2003-04-15 15:17 Timothy Miller
  2003-04-15 15:25 ` Jörn Engel
  0 siblings, 1 reply; 2+ messages in thread
From: Timothy Miller @ 2003-04-15 15:17 UTC (permalink / raw)
  To: linux-kernel

This is in regard to the kernel message compression I'm working on.

I'm starting work on the code parser for the kernel, and I find that a 
lot of the printk format strings have macros in them.  Is there a quick 
and easy way to get preprocessor (.i) output from all kernel source files?

I'm sure I won't understand enough to hack all Makefiles, but in case I 
have to, what would be the best way of going about it?  I know about 
using -E, but I don't want to take an excessive amount of time on this.

Of course, to actually implement the text compression, all Makefiles 
will have to change anyhow to pipe preprocessor output through a program 
whose output is then run through the compiler.



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Quick way to get preprocessor output???
  2003-04-15 15:17 Quick way to get preprocessor output??? Timothy Miller
@ 2003-04-15 15:25 ` Jörn Engel
  0 siblings, 0 replies; 2+ messages in thread
From: Jörn Engel @ 2003-04-15 15:25 UTC (permalink / raw)
  To: Timothy Miller; +Cc: linux-kernel

On Tue, 15 April 2003 11:17:02 -0400, Timothy Miller wrote:
> 
> This is in regard to the kernel message compression I'm working on.

Something tells me that fun patches are going to show up.

> I'm starting work on the code parser for the kernel, and I find that a 
> lot of the printk format strings have macros in them.  Is there a quick 
> and easy way to get preprocessor (.i) output from all kernel source files?
> 
> I'm sure I won't understand enough to hack all Makefiles, but in case I 
> have to, what would be the best way of going about it?  I know about 
> using -E, but I don't want to take an excessive amount of time on this.

Try the patch below or something similar. This was done by memory,
without testing, for 2.5. The equivalent for 2.4 would be even
simpler.

Actually, this should not work yet, the real trick would be to
generate the .o files from .c *and* the .i, so the linker stage will
find correct .o files and keep running.

In case you want to do allyesconfig, you will several hours fixing
compile problems. The resulting .config after doing all that is on my
system, you can have it if you want it.

> Of course, to actually implement the text compression, all Makefiles 
> will have to change anyhow to pipe preprocessor output through a program 
> whose output is then run through the compiler.

Not all Makefiles, just one. :)

Jörn

-- 
And spam is a useful source of entropy for /dev/random too!
-- Jasmine Strong

--- linux-2.5.67/scripts/Makefile.build~pp_output	2003-04-07 19:32:25.000000000 +0200
+++ linux-2.5.67/scripts/Makefile.build	2003-04-15 17:12:32.000000000 +0200
@@ -157,7 +157,7 @@
 	$(call if_changed_dep,cc_i_c)
 
 quiet_cmd_cc_o_c = CC $(quiet_modtag)  $@
-cmd_cc_o_c       = $(CC) $(c_flags) -c -o $@ $<
+cmd_cc_o_c       = $(CC) $(c_flags) -C -E $< > $<.i
 
 # Built-in and composite module parts
 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-04-15 15:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-15 15:17 Quick way to get preprocessor output??? Timothy Miller
2003-04-15 15:25 ` Jörn Engel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®