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

Re: [Xen-devel] [PATCH v4 07/44] x86emul: also allow running the 32-bit harness on a 64-bit distro



>>> On 13.11.18 at 16:58, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 13/11/2018 11:42, Jan Beulich wrote:
>>>>> On 12.11.18 at 18:50, <andrew.cooper3@xxxxxxxxxx> wrote:
>>> On 25/09/18 14:29, Jan Beulich wrote:
>>>> In order to be able to verify the 32-bit variant builds and runs,
>>>> introduce a respective target (and the necessary other adjustments).
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>>> I tried this, but got:
>>>
>>> make: Entering directory '/local/xen.git/tools/tests/x86_emulator/32'
>>> gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer 
> -fno-strict-aliasing -Wdeclaration-after-statement -m32 
> -I/local/xen.git/tools/tests/x86_emulator/32/../../../../tools/include -I.  
> -D__XEN_TOOLS__ -c -g -o x86-emulate.o ../x86-emulate.c
>>> gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer 
> -fno-strict-aliasing -Wdeclaration-after-statement -m32 
> -I/local/xen.git/tools/tests/x86_emulator/32/../../../../tools/include -I.  
> -o test_x86_emulator x86-emulate.o ../test_x86_emulator.o ../evex-disp8.o 
> ../wrappers.o
>>> /usr/bin/ld: i386:x86-64 architecture of input file 
>>> `../test_x86_emulator.o' 
> is incompatible with i386 output
>>> /usr/bin/ld: i386:x86-64 architecture of input file `../evex-disp8.o' is 
> incompatible with i386 output
>>> /usr/bin/ld: i386:x86-64 architecture of input file `../wrappers.o' is 
> incompatible with i386 output
>>> collect2: error: ld returned 1 exit status
>>> ../Makefile:153: recipe for target 'test_x86_emulator' failed
>> Hmm, nothing I can reproduce. I don't understand why it tries to use
>> ../*.o instead of building 32-bit variants in the current directory.
>> Perhaps a make version difference in how VPATH gets handled? But
>> I know I've tried with different versions, which will make it rather
>> hard for me to diagnose the issue. Could you see whether replacing
>>
>> VPATH += ..
>>
>> by
>>
>> vpath %.c ..
>>
>> helps in your case?
> 
> Sadly not.  That turns into:
> 
> make: Entering directory '/local/xen.git/tools/tests/x86_emulator/32'
> make: *** No rule to make target 'x86-emulate.h', needed by
> 'x86-emulate.o'.  Stop.
> make: Leaving directory '/local/xen.git/tools/tests/x86_emulator/32'

Well, I had realized late last night that an equivalent line for %.h
would then also be needed (which was in the first place why I used
the single VPATH line instead, seeing that it worked fine for me).
Since the above shows that it'll work in general, I'll switch to this
(making further additions if need be).

> I've noticed another issue.  The clean target now rebuilds all the
> binary fragements before deleting them again.

Oh, yes. Easily taken care of by splitting the dependency line from
the rule one.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.