On 06/03/2019 16:42, Laurent Vivier wrote: > On 28/02/2019 17:59, Mark Cave-Ayland wrote: >> On 28/02/2019 08:39, Andrew Randrianasulu wrote: >> >>>>> configure line: >>>>> setarch i686 ./configure --target-list=ppc64-softmmu >>>>> >>>>> launch line: >>>>> ppc64-softmmu/qemu-system-ppc64 -display >>>>> sdl,gl=on -hda /mnt/sdb1/PPC-img/alpine_disk.img >>>>> >>>>> where alpine_disk.img is HDD installed Alpine 3.7 for ppc64le with xfce4 >>>>> desktop. >>>> >>>> AFAICT the vector instructions converted here are independent of endian, so >>>> I can't see why this patch on its own would have any effect. >>>> >>>> Maybe it could be because the "setarch i686" part forces use of some >>>> lesser-used 32-bit paths in the vector code - is this required? And do you >>>> see the same issue on a x86_64 build? >>> >>> I use 32-bit Slackware userland with x86_64 kerenl - so setarch prevent >>> most of >>> configures from detecting my arch wrongly. >>> >>> Yes, bug was and is present with qemu compiled for x86_64 (inside chroot). >>> I initially discovered it there, and after dropping -O3 and even >>> march=native, >>> and even disabling avx2 via configure switch - moved to bisect. >>> >>> https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg06414.html >> >> Can you upload your alpine_disk.img somewhere and then email me the link >> off-list? >> I'll see if I can take a look when I get a spare moment. > > I've also bisected to this commit for a problem with qemu-pp64le. > > commit 7b8fe477e12b164dda97f79e27b55b805d90384f > Author: Richard Henderson <richard.hender...@linaro.org> > Date: Fri Feb 15 10:00:46 2019 +0000 > > target/ppc: convert VSX logical operations to vector operations > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > Acked-by: David Gibson <da...@gibson.dropbear.id.au> > Message-Id: <20190215100058.20015-6-mark.cave-ayl...@ilande.co.uk> > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> > > > debian stretch ppc64el fails to build the well known hello.c example: > # $ cat /tmp/hello.c > #include <stdio.h> > int main(void) > { > printf("Hello World!\n"); > return 0; > } > # cc -o /tmp/hello /tmp/hello.c > In file included from <command-line>:0:0: > /usr/include/stdc-predef.h:26:2: error: unknown type name '_STDC_' > explicitly includes a system header. GCC knows the name of this > ^ ~~~~ > /usr/include/stdc-predef.h:28:1: error: expected '=', ',', ';', 'asm' or > '__attribute__' before '_STDC_PREDEF_H' > > ^ > /usr/include/stdc-predef.h:42:2: error: missing terminating ' character > #endif > ^~~~~ > ...
Hi Laurent, This should be fixed by the patchset at https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg00473.html - can you test and confirm that it also works for you? I'm currently in the process of working on a v2 to address Richard's comments, hopefully I will be able to send it through later this evening or tomorrow. ATB, Mark.