Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Dec 2013 09:17:00 -0800
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, Marcel Moolenaar <marcel@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, Peter Wemm <peter@wemm.org>
Subject:   Re: svn commit: r260022 - head/lib/libkvm
Message-ID:  <4A5D5324-6F51-4328-BC52-851F5BB4B33D@xcllnt.net>
In-Reply-To: <20131229090338.GV59496@kib.kiev.ua>
References:  <201312282301.rBSN1wWP002326@svn.freebsd.org> <CAGE5yCorJaMszNY3FvT2XNGEWMEAE47daCGLnxzdLjAFTcOf0A@mail.gmail.com> <CAGE5yCq5AVC2JJ5HiDj5i_1zQ1fKXj9cNuzF1oN0Tks9eoP=Lg@mail.gmail.com> <28D86FF3-F13C-4EB1-AEED-4051F2944E27@xcllnt.net> <20131229090338.GV59496@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]

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



[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iEYEARECAAYFAlLAWQwACgkQpgWlLWHuifYpWQCfczY+FVK++35YPDSRLGqbyatZ
OUIAnieVysPV7dOy7i810j6bYzfpUO7v
=mtWG
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A5D5324-6F51-4328-BC52-851F5BB4B33D>