qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] ARM host compile fix
@ 2008-05-30 19:43 Blue Swirl
  2008-05-30 20:10 ` andrzej zaborowski
  0 siblings, 1 reply; 4+ messages in thread
From: Blue Swirl @ 2008-05-30 19:43 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 381 bytes --]

I needed this patch to get sparc-softmmu compile on ARM host. It looks
like the code generator is not finished, tcg_abort() is called
immediately on start.

Also sparc-linux-user final link fails:
/src/qemu/cpu-exec.c:609: relocation truncated to fit: R_ARM_PC24
against symbol `code_gen_prologue' defined in COMMON section in
libqemu.a(exec.o)
collect2: ld returned 1 exit status

[-- Attachment #2: fix_arm_host.diff --]
[-- Type: plain/text, Size: 524 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] ARM host compile fix
  2008-05-30 19:43 [Qemu-devel] ARM host compile fix Blue Swirl
@ 2008-05-30 20:10 ` andrzej zaborowski
  2008-05-30 20:21   ` Paul Brook
  2008-05-30 20:25   ` Blue Swirl
  0 siblings, 2 replies; 4+ messages in thread
From: andrzej zaborowski @ 2008-05-30 20:10 UTC (permalink / raw)
  To: qemu-devel

On 30/05/2008, Blue Swirl <blauwirbel@gmail.com> wrote:
> I needed this patch to get sparc-softmmu compile on ARM host.

Thanks for the patch. I guess it applies to all glibcs below 2.3 or
2.4 so I'll make this check a "<= 3" - I've only built for glibc 2.5.
I'll commit it tomorrow unless you do.

> It looks
>  like the code generator is not finished, tcg_abort() is called
>  immediately on start.

I think this is due to the recent change making code_gen_buffer
dynamic and requiring an absolute jump on ARM, which I had #if 0'ed in
tcg-target.c because I had not tested it.

TCG is a bit of a moving target and I'll be trying to keep arm host
support updated, but without putting an excessive effort in being
quick.

>
>  Also sparc-linux-user final link fails:
>  /src/qemu/cpu-exec.c:609: relocation truncated to fit: R_ARM_PC24
>  against symbol `code_gen_prologue' defined in COMMON section in
>  libqemu.a(exec.o)
>  collect2: ld returned 1 exit status

Yes, arm-linux-user fails with the same error because gcc doesn't
manage to make the call to code_gen_prologue.  One solution is to wrap
the #define tcg_qemu_tb_exec in tcg/tcg.h in an #ifndef, and override
it tcg/arm/tcg-target.h with the same kind of call as was used before
introduction of prologue/epilogue which was possibly more optimal.

Regards

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] ARM host compile fix
  2008-05-30 20:10 ` andrzej zaborowski
@ 2008-05-30 20:21   ` Paul Brook
  2008-05-30 20:25   ` Blue Swirl
  1 sibling, 0 replies; 4+ messages in thread
From: Paul Brook @ 2008-05-30 20:21 UTC (permalink / raw)
  To: qemu-devel

> >  Also sparc-linux-user final link fails:
> >  /src/qemu/cpu-exec.c:609: relocation truncated to fit: R_ARM_PC24
> >  against symbol `code_gen_prologue' defined in COMMON section in
> >  libqemu.a(exec.o)
> >  collect2: ld returned 1 exit status
>
> Yes, arm-linux-user fails with the same error because gcc doesn't
> manage to make the call to code_gen_prologue.  One solution is to wrap
> the #define tcg_qemu_tb_exec in tcg/tcg.h in an #ifndef, and override
> it tcg/arm/tcg-target.h with the same kind of call as was used before
> introduction of prologue/epilogue which was possibly more optimal.

Or tweak the linker script to place code_gen_prologue near to the code 
segment.

Paul

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] ARM host compile fix
  2008-05-30 20:10 ` andrzej zaborowski
  2008-05-30 20:21   ` Paul Brook
@ 2008-05-30 20:25   ` Blue Swirl
  1 sibling, 0 replies; 4+ messages in thread
From: Blue Swirl @ 2008-05-30 20:25 UTC (permalink / raw)
  To: qemu-devel

On 5/30/08, andrzej zaborowski <balrogg@gmail.com> wrote:
> On 30/05/2008, Blue Swirl <blauwirbel@gmail.com> wrote:
>  > I needed this patch to get sparc-softmmu compile on ARM host.
>
>
> Thanks for the patch. I guess it applies to all glibcs below 2.3 or
>  2.4 so I'll make this check a "<= 3" - I've only built for glibc 2.5.
>  I'll commit it tomorrow unless you do.

I know nothing of ARM, so you should do it.

>  > It looks
>  >  like the code generator is not finished, tcg_abort() is called
>  >  immediately on start.
>
>
> I think this is due to the recent change making code_gen_buffer
>  dynamic and requiring an absolute jump on ARM, which I had #if 0'ed in
>  tcg-target.c because I had not tested it.
>
>  TCG is a bit of a moving target and I'll be trying to keep arm host
>  support updated, but without putting an excessive effort in being
>  quick.

Same goes for Sparc host.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-05-30 20:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-30 19:43 [Qemu-devel] ARM host compile fix Blue Swirl
2008-05-30 20:10 ` andrzej zaborowski
2008-05-30 20:21   ` Paul Brook
2008-05-30 20:25   ` Blue Swirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).