[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [PATCH VTPM v8 0/8] Vtpm patch set
On 01/10/2013 10:30 AM, Ian Campbell wrote:
On Thu, 2013-01-03 at 15:37 +0000, Matthew Fioravante wrote:
The following are the final set of patches for vtpm in xen.
They are derived from the previous v7 and Ian's xen
vtpm respository with the various minor bug fixes we
have discussed and fixed along the way. The bug fixes
are baked into their respective patches.
Thanks.
Unfortunately I'm afraid this fails to build for me when cmake is
installed. I get:
ld -nostdlib
-L/local/scratch/ianc/devel/committer.git/stubdom/cross-root-x86_64/x86_64-xen-elf/lib
-m elf_x86_64 -T arch/x86/minios-x86_64.lds \
/local/scratch/ianc/devel/committer.git/stubdom/mini-os-x86_64-vtpm/mini-os.o \
-o
/local/scratch/ianc/devel/committer.git/stubdom/mini-os-x86_64-vtpm/mini-os
ld: warning: section `.bss' type changed to PROGBITS
/local/scratch/ianc/devel/committer.git/stubdom/mini-os-x86_64-vtpm/mini-os.o:
In function `mkdirs':
tpm_emulator_extern.c:(.text+0xbd95): undefined reference to `__errno_location'
tpm_emulator_extern.c:(.text+0xbdad): undefined reference to `__errno_location'
/local/scratch/ianc/devel/committer.git/stubdom/mini-os-x86_64-vtpm/mini-os.o:
In function `_tpm_extern_init':
tpm_emulator_extern.c:(.text+0xbe7f): undefined reference to `open'
tpm_emulator_extern.c:(.text+0xbe9b): undefined reference to `__errno_location'
/local/scratch/ianc/devel/committer.git/stubdom/mini-os-x86_64-vtpm/mini-os.o:
In function `_tpm_write_to_storage':
tpm_emulator_extern.c:(.text+0xc1e9): undefined reference to `open'
/local/scratch/ianc/devel/committer.git/stubdom/mini-os-x86_64-vtpm/mini-os.o:
In function `_tpm_read_from_storage':
tpm_emulator_extern.c:(.text+0xc27b): undefined reference to `open'
tpm_emulator_extern.c:(.text+0xc2a2): undefined reference to `lseek'
tpm_emulator_extern.c:(.text+0xc2ba): undefined reference to `lseek'
make[2]: ***
[/local/scratch/ianc/devel/committer.git/stubdom/mini-os-x86_64-vtpm/mini-os]
Error 1
make[2]: Leaving directory
`/local/scratch/ianc/devel/committer.git/extras/mini-os'
I'm going to claim user error on this one.
In the stubdom/Makefile we define TPM_NO_EXTERN using cmake to build the
tpm emulator. In tpm_emulator-x86_64/tpm/tpm_emulator_extern.c all of
the functions defined there use open() and mkdir() etc.. However when
TPM_NO_EXTERN is defined this
file contains only a set of null initialized function pointers (which
vtpm assigns to its own functions).
Using the standard make targets there should be no possible way to get
the tpm emulator to build without TPM_NO_EXTERN. When cmake is not
present make vtpm-stubdom will fail because vtpm-stubdom is not present
in the TARGETS variable. I certainly was not able to reproduce it in
xen-unstable or in staging using a variety or permutations of make
targets and cmake present/not-present.
Were you playing with building the tpm emulator manually?
Anyway I'm confident that if you do a distclean and rebuild the error
should go away. Unless there is something broken about the clean targets
leaving things around that should be deleted.
Can you try one more time with cmake installed?
lseek and open are defined in extras/mini-os/lib/sys.c but:
$ nm stubdom/mini-os-x86_64-vtpm/lib/sys.o | egrep T.\(open\|lseek\)
0000000000002456 T lseek64
0000000000002a4e T open64
Perhaps some sort of -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE mismatch
between the libc and the app libraries?
Not sure about the __errno_location one other than:
$ grep -B2 __errno_location stubdom/caml/main-caml.c
/* Ugly binary compatibility with Linux */
FILE *_stderr asm("stderr");
int *__errno_location;
Everything else seems to build ok. so without cmake installed it works
fine.
Matthew Fioravante (8):
add vtpm-stubdom code
add stubdom/vtpmmgr code
vtpm/vtpmmgr and required libs to stubdom/Makefile
Add vtpm documentation
README: Add cmake dependency
stubdom: Add autoconf
Add a top level configure script
Add conditional build of subsystems to configure.ac
Ian.
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|