Message ID | 1387836029-17163-1-git-send-email-rjones@redhat.com |
---|---|
State | New |
Headers | show |
On 23 December 2013 22:00, Richard W.M. Jones <rjones@redhat.com> wrote: > From: "Richard W.M. Jones" <rjones@redhat.com> > > Fixes https://bugs.launchpad.net/qemu/+bug/1263747 > > Signed-off-by: Richard W.M. Jones <rjones@redhat.com> > Tested-by: Richard W.M. Jones <rjones@redhat.com> > --- I'm guessing this is against the SuSE tree? Probably best to say so specifically, because this code is different in mainline. CC'ing Alex who might also care about SuSE tree fixes. > target-arm/translate-a64.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c > index 36ebb0f..29454b0 100644 > --- a/target-arm/translate-a64.c > +++ b/target-arm/translate-a64.c > @@ -273,7 +273,6 @@ static void handle_br(DisasContext *s, uint32_t insn) > tcg_gen_movi_i64(cpu_reg(30), s->pc); > break; > case 2: /* RET */ > - source = 30; > break; > case 3: > unallocated_encoding(s); > -- > 1.8.3.1 > FWIW mainline's handling of this insn doesn't have this bug. thanks -- PMM
On Mon, Dec 23, 2013 at 10:17:15PM +0000, Peter Maydell wrote:
> FWIW mainline's handling of this insn doesn't have this bug.
OT: Is there a clear explanation of the various aarch64 trees?
I noticed that upstream qemu has some files like target-arm/
translate-a64.c, but it didn't (and still doesn't) appear to work:
+ ./configure '--target-list=arm64-linux-user i386-softmmu x86_64-softmmu arm-softmmu ppc-softmmu ppc64-softmmu' '--extra-ldflags=-pie -Wl,-z,relro -Wl,-z,now' '--extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIE -DPIE' --disable-werror --disable-xen --enable-kvm --enable-tpm
ERROR: Unknown target name 'arm64-linux-user'
I found the SuSE tree and it works, but the code is quite different
from the upstream tree.
Rich.
On 24 December 2013 08:45, Richard W.M. Jones <rjones@redhat.com> wrote: > On Mon, Dec 23, 2013 at 10:17:15PM +0000, Peter Maydell wrote: >> FWIW mainline's handling of this insn doesn't have this bug. > > OT: Is there a clear explanation of the various aarch64 trees? > I noticed that upstream qemu has some files like target-arm/ > translate-a64.c, but it didn't (and still doesn't) appear to work: > > + ./configure '--target-list=arm64-linux-user i386-softmmu x86_64-softmmu arm-softmmu ppc-softmmu ppc64-softmmu' '--extra-ldflags=-pie -Wl,-z,relro -Wl,-z,now' '--extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIE -DPIE' --disable-werror --disable-xen --enable-kvm --enable-tpm > > ERROR: Unknown target name 'arm64-linux-user' Basically we (Linaro) are cleaning up and upstreaming the SuSE patches (sometimes with significant rework). At the moment upstream has some code but not enough to run anything, so the target is currently disabled. I expect to have enough for integer-only binaries upstream by the end of the year [remaining patches are on-list for review], with FP and Neon following early next year. The SuSE tree is basically "this is a working set of code that SuSE uses to build things, but don't ship it with anything, don't try to use it for any target except arm64-linux-user, it's not really supported and it will go away as soon as everything is upstream". The other thing to note is that the official upstream name of this target is 'aarch64-linux-user' (we follow the gcc toolchain name and what the kernel reports to userspace via uname). thanks -- PMM
diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c index 36ebb0f..29454b0 100644 --- a/target-arm/translate-a64.c +++ b/target-arm/translate-a64.c @@ -273,7 +273,6 @@ static void handle_br(DisasContext *s, uint32_t insn) tcg_gen_movi_i64(cpu_reg(30), s->pc); break; case 2: /* RET */ - source = 30; break; case 3: unallocated_encoding(s);