|
From: Nicholas N. <n.n...@gm...> - 2009-05-08 04:43:51
|
On Fri, May 8, 2009 at 2:05 PM, Vince Weaver <vi...@cs...> wrote: > Hello > > The tests I have are pure assembly, and need to be assembled by the > assembler, not by gcc. This is because the bbv plugin depends on exact > instruction counts, and different C compilers run a differing amount of > code before getting to main(). So to have consistent results on different > machines I need to skip the compiler. > > In the Makefile.am file I can set > CCAS = as > To have the assembler called instead of gcc. Unfortunately though a lot > of flags get passed to the assembler that it is unable to ignore. You get > something like the following, which doesn't work: > as -DHAVE_CONFIG_H -I. -I../../.. -I../../.. -I../../../include > -I../../../coregrind -I../../../include -I../../../VEX/pub -DVGA_x86=1 > -DVGO_linux=1 -DVGP_x86_linux=1 -Wno-long-long -MT million.o -MD -MP -MF > .deps/million.Tpo -c -o million.o million.S > > I'd really just like it called as > as -o million.o million.S > > A similar problem happens with linking. I'd rather just something like > ld -o million million.o > > Is it possible to do this with the current automake setup in Valgrind? I assume you've got a recent automake, something like 1.10. Try changing the name from million.S to million.s -- newer automakes consider an asm file with a .S extension as "preprocessed", and so pass the CPPFLAGS in. (Older ones don't do this, AFAIK.) Also make sure that the AM_CCASFLAGS/CCASFLAGS don't have the AM_CPPFLAGS/CPPFLAGS included in them. (The defaults for these for tool tests are in Makefile.tool-tests.am.) Hopefully that'll work. I'm not sure about the linking step... but the various variables with LDFLAGS in their names should control that. Nick |