[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GUB problem
From: |
Masamichi Hosoda |
Subject: |
Re: GUB problem |
Date: |
Mon, 29 Aug 2016 23:58:06 +0900 (JST) |
>>>>> Thank you for your answers.
>>>>> Is there
>>>>> /home/gub/NewGub/gub/target/tools/build/gmp-6.0.0.a/config.log
>>>>> ?
>>>>> Would you show me config.log in gmp-6.0.0.a ?
>>>>>
>>>> As far as I can see, that file does not exist on my system.
>>> Would you show me result of the following commands?
>>> $ cat /proc/cpuinfo
>>> $ cd /home/gub/NewGub/gub/target/tools
>>> $ find . -name "config.log"
>>
>> address@hidden:~$ cd NewGub/gub/target/tools/
>> address@hidden:~/NewGub/gub/target/tools$ find . -name
>> "config.log"
>> ./build/gmp-6.0.0.a/config.log
>>
>>
>>
>> I have attached config.log and the output of cpuinfo.
>
> Thank you for your files.
>
> If I understand correctly,
> my environment and your environment difference is found.
> I'm making a patch for GUB.
>
> In my 32 bit VM,
>
> /proc/cpuinfo flags has `lm' (long mode).
> So GUB sets build_hardware_bits=64.
> https://github.com/gperciva/gub/blob/7e12e0ab779b11db32b471875ab31d93aabb7f7d/gub/settings.py#L230
>
> And, GUB sets build_bits=32 because the OS is 32 bit.
> https://github.com/gperciva/gub/blob/7e12e0ab779b11db32b471875ab31d93aabb7f7d/gub/settings.py#L65
>
> Thus, build_bits != build_hardware_bits.
> So GUB sets environment variable ABI=32.
> https://github.com/gperciva/gub/blob/7e12e0ab779b11db32b471875ab31d93aabb7f7d/gub/settings.py#L243
>
> GMP's configure script detects the 64 bit capable CPU but ABI=32 is set.
> So the GMP building succeed.
>
>
> On the other hands,
> in your 32 bit VM,
>
> /proc/cpuinfo flags does not have `lm' (long mode).
> Ofcource, your CPU is 64 bit capable.
> It originally would have the flag.
> Perhaps virtualization software drops the flag.
> So GUB sets build_hardware_bits=32.
>
> Thus, build_bits == build_hardware_bits.
> So GUB does not set environment variable ABI.
>
> GMP's configure script detects the 64 bit capable CPU
> because it uses CPUID instead of `/proc/cpuinfo'.
> Then, it try to use 64 bit but it cannot use 64 bit because the OS is 32 bit.
I've created pull request.
https://github.com/gperciva/gub/pull/28
- Re: GUB problem, (continued)
- Re: GUB problem, Phil Holmes, 2016/08/24
- Re: GUB problem, Masamichi Hosoda, 2016/08/26
- Re: GUB problem, Phil Holmes, 2016/08/26
- Re: GUB problem, Masamichi Hosoda, 2016/08/26
- Re: GUB problem, Phil Holmes, 2016/08/28
- Re: GUB problem, Masamichi Hosoda, 2016/08/28
- Re: GUB problem, Phil Holmes, 2016/08/28
- Re: GUB problem, Phil Holmes, 2016/08/28
- Re: GUB problem, Masamichi Hosoda, 2016/08/28
Re: GUB problem, Masamichi Hosoda, 2016/08/29
- Re: GUB problem,
Masamichi Hosoda <=