svn commit: r260022 - head/lib/libkvm

Marcel Moolenaar marcel at xcllnt.net
Sun Dec 29 17:16:35 UTC 2013


On Dec 29, 2013, at 1:03 AM, Konstantin Belousov <kostikbel at gmail.com> wrote:

> On Sat, Dec 28, 2013 at 06:39:07PM -0800, Marcel Moolenaar wrote:
>> 
>> On Dec 28, 2013, at 4:40 PM, Peter Wemm <peter at wemm.org> wrote:
>> 
>>> On Sat, Dec 28, 2013 at 4:04 PM, Peter Wemm <peter at wemm.org> wrote:
>>>> On Sat, Dec 28, 2013 at 3:01 PM, Marcel Moolenaar <marcel at freebsd.org> wrote:
>>>>> Author: marcel
>>>>> Date: Sat Dec 28 23:01:57 2013
>>>>> New Revision: 260022
>>>>> URL: http://svnweb.freebsd.org/changeset/base/260022
>>>>> 
>>>>> Log:
>>>>> Allow building a cross libkvm by setting TARGET_ARCH. The library so
>>>>> produced will be called libkvm-${ARCH} instead of libkvm. This allows
>>>>> installing it alongside the native version.
>>>>> For symbol lookups, use ps_pglobal_lookup() instead of __fdnlist()
>>>>> when building a cross libkvm. It is assumed that the cross tool that
>>>>> uses the cross libkvm also provides an implementation for this
>>>>> proc_services function.
>>>>> 
>>>>> Note that this commit does not change any of the architecture-specific
>>>>> code for cross-compilation.
>>>> 
>>>> Are you sure about this? I just got a brand new buildworld failure on
>>>> an amd64 machine.  The lib32 build code was trying to use 64 bit pmap
>>>> definitions and failed miserably.
>>>> 
>>>> I'm really sorry, I accidentally blew away the failure log.  I'll have
>>>> another in a few minutes.
>>> 
>>> 
>>> This is from stage5.1, the lib32 build:
>>> 
>>> /usr/src/lib/libkvm/kvm_amd64.c:78:2: error: unknown type name 'pml4_entry_t'
>>>       pml4_entry_t    *PML4;
>>>       ^
>> 
>> Ugh. I'll probably revert...
> 
> Might be, it makes more sense to disable libkvm compat32 build ?

Possibly. I would not do it because of the changes I made. While
we don't have a lot of libraries with cross-utility, I also don't
think libkvm is the only one. So, it's better to fix the Makefile
and keep it included in build32 as it's sets an example.

Independently of the above: if we agree that the use case of
building 32-bit libs changed over the years from providing 32-bit
compat to apps that can't be recompiled to providing an ILP32
runtime environment on a 64-bit host and that we have ports for
the compat case, then we can indeed ask the question whether or
not to build libkvm. I think it's perfectly fair to declare
certain libs or utilities as inherently "native" and as such not
provide 32-bit variants for them.

That said: cross-development has different requirements and for
libkvm it can be seen that the need for a non-native variant is
tied to the need for a non-native kgdb (for example). And as a
developer, I do like our tools to be inherently "cross". This
would argue for keeping libkvm in build32 for the purpose of
building a cross-libkvm.

-- 
Marcel Moolenaar
marcel at xcllnt.net


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20131229/a0aaef83/attachment.sig>


More information about the svn-src-all mailing list