svn commit: r260022 - head/lib/libkvm

Peter Wemm peter at wemm.org
Sun Dec 29 00:40:33 UTC 2013


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;
        ^
/usr/src/lib/libkvm/kvm_amd64.c:153:2: error: use of undeclared
identifier 'pml4_entry_t'
        pml4_entry_t    *PML4;
        ^
/usr/src/lib/libkvm/kvm_amd64.c:153:16: error: use of undeclared
identifier 'PML4'
        pml4_entry_t    *PML4;
                         ^
/usr/src/lib/libkvm/kvm_amd64.c:200:2: error: use of undeclared
identifier 'PML4'
        PML4 = _kvm_malloc(kd, PAGE_SIZE);
        ^
/usr/src/lib/libkvm/kvm_amd64.c:201:23: error: use of undeclared
identifier 'PML4'
        if (kvm_read(kd, pa, PML4, PAGE_SIZE) != PAGE_SIZE) {
                             ^
/usr/src/lib/libkvm/kvm_amd64.c:205:19: error: use of undeclared
identifier 'PML4'
        kd->vmst->PML4 = PML4;
                         ^
/usr/src/lib/libkvm/kvm_amd64.c:217:2: error: use of undeclared
identifier 'pml4_entry_t'
        pml4_entry_t pml4e;
        ^
/usr/src/lib/libkvm/kvm_amd64.c:218:2: error: unknown type name
'pdp_entry_t'; did you mean 'pd_entry_t'?
        pdp_entry_t pdpe;
        ^~~~~~~~~~~
        pd_entry_t
/usr/obj/usr/src/lib32/usr/include/machine/pmap.h:175:18: note:
'pd_entry_t' declared here
typedef uint32_t pd_entry_t;
                 ^
/usr/src/lib/libkvm/kvm_amd64.c:246:22: error: use of undeclared
identifier 'PML4SHIFT'
        pml4eindex = (va >> PML4SHIFT) & (NPML4EPG - 1);
                            ^
/usr/src/lib/libkvm/kvm_amd64.c:246:36: error: use of undeclared
identifier 'NPML4EPG'
        pml4eindex = (va >> PML4SHIFT) & (NPML4EPG - 1);
                                          ^
/usr/src/lib/libkvm/kvm_amd64.c:247:2: error: use of undeclared
identifier 'pml4e'
        pml4e = vm->PML4[pml4eindex];
        ^
/usr/src/lib/libkvm/kvm_amd64.c:248:15: error: use of undeclared
identifier 'pml4e'
        if (((u_long)pml4e & PG_V) == 0) {
                     ^
/usr/src/lib/libkvm/kvm_amd64.c:253:21: error: use of undeclared
identifier 'PDPSHIFT'
        pdpeindex = (va >> PDPSHIFT) & (NPDPEPG-1);
                           ^
/usr/src/lib/libkvm/kvm_amd64.c:253:34: error: use of undeclared
identifier 'NPDPEPG'
        pdpeindex = (va >> PDPSHIFT) & (NPDPEPG-1);
                                        ^
/usr/src/lib/libkvm/kvm_amd64.c:254:21: error: use of undeclared
identifier 'pml4e'
        pdpe_pa = ((u_long)pml4e & PG_FRAME) +
                           ^
/usr/src/lib/libkvm/kvm_amd64.c:255:26: error: use of undeclared
identifier 'pdp_entry_t'; did you mean 'pd_entry_t'?
            (pdpeindex * sizeof(pdp_entry_t));
                                ^
16 errors generated.


-- 
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com; KI6FJV
Yes, I know, gmail sucks now. If you see this then I forgot. Habits
are hard to break.


More information about the svn-src-head mailing list