[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Compiling qemu as position-independent code on an x86_6
Re: [Qemu-devel] Compiling qemu as position-independent code on an x86_64 linux host
Fri, 15 Dec 2006 15:20:24 +0100
I managed to compile and use qemu as a shared library for the ii386
user space emulator.
I didn't use -fPIC to compile anything and simply generated the lib by
adding something like this in Makefile.target:
$(CC) -shared -Wl,-soname,libqemu.so.0 -o libqemu.so.0 $(LIBOBJS) -lc
I am not sure it should work under all circumstances. It also works
when USE_CODE_COPY is not defined.
On 14/12/06, G Portokalidis <address@hidden> wrote:
I also need to use qemu as a shared library, so i was wandering
whether you had any luck with this?
On 03/11/06, Paul Robinson <address@hidden> wrote:
> Hi guys,
> I'm trying to use parts of qemu in an application that must be compiled as a
> shared library (i.e. a .so file).
> The code must be compiled with the -fPIC option otherwise the linker refuses
> to create a .so file
> but doing this causes dyngen to stop with the error:
> ../dyngen -o op.h op.o
> dyngen: unsupported X86_64 relocation (9)
> In dyngen-exec.h, if I change
> extern int __op_param1, __op_param2, __op_param3;
> static int __op_param1, __op_param2, __op_param3;
> then dyngen stops with
> dyngen: unsupported X86_64 relocation (4)
> I suspect that I need to resort to assembly language (as has been done for
> alpha hosts).
> My question is:
> Has anyone already done this ? (so I don't have to re-invent the wheel).
> The nearest I've found so far is Johannes Schindelin's "Porting QEMU to [a]
> new CPU" guide.
> Paul R.
> Qemu-devel mailing list