On Dec 29, 2013, at 1:03 AM, Konstantin Belousov <kostik...@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 <pe...@wemm.org> wrote:
>> 
>>> On Sat, Dec 28, 2013 at 4:04 PM, Peter Wemm <pe...@wemm.org> wrote:
>>>> On Sat, Dec 28, 2013 at 3:01 PM, Marcel Moolenaar <mar...@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
mar...@xcllnt.net


Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to