qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1316115] Re: linux-user qemu-arm NEON support


From: Christopher Horler
Subject: [Qemu-devel] [Bug 1316115] Re: linux-user qemu-arm NEON support
Date: Thu, 08 May 2014 19:54:04 -0000

I built Qt5 myself, and tested and it crashed again.

I think the entry point getting set in the ELF header is probably
invalid and leading to the crash - I'm going to try and fix that - but
it's almost certainly not a qemu bug.

I suggest closing the bug report.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1316115

Title:
  linux-user qemu-arm NEON support

Status in QEMU:
  New

Bug description:
  I was reading the mailing list and saw NEON support in QEmu was making
  progress.

  Is it not supported in user mode?  or am I running into something else
  here?  (I've tried to include some what may be useful information)

  using qemu from git (last commits as below):
  fdaad47 Merge remote-tracking branch 
'remotes/pmaydell/tags/pull-target-arm-20140501' into staging
  e50bf23 Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into 
staging
  c090c10 Merge remote-tracking branch 'remotes/cohuck/tags/kvm_cap_helpers' 
into staging

  (for completeness I should point out this is not actually
  libQtCore.so.4.6.2 - the SONAME shows libQt5Core.so.5).

  address@hidden:~/projects/src/CustomFirmware> qemu-arm -L ./root 
./root/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtCore.so.4.6.2 
  qemu: unhandled CPU exception 0x2 - aborting
  R00=00000000 R01=f6c84fdd R02=00000000 R03=00000000
  R04=00000000 R05=00000000 R06=00000000 R07=00000000
  R08=00000000 R09=00000000 R10=f6ff9d80 R11=00000000
  R12=00000000 R13=f6c84d90 R14=00000000 R15=f6cdef74
  PSR=00000010 ---- A usr32
  qemu: uncaught target signal 6 (Aborted) - core dumped
  Aborted

  
  address@hidden:~/projects/src/CustomFirmware> arm-linux-gnueabihf-readelf -A 
./root/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtCore.so.4.6.2 
  Attribute Section: aeabi
  File Attributes
    Tag_CPU_name: "7-A"
    Tag_CPU_arch: v7
    Tag_CPU_arch_profile: Application
    Tag_ARM_ISA_use: Yes
    Tag_THUMB_ISA_use: Thumb-2
    Tag_FP_arch: VFPv3
    Tag_Advanced_SIMD_arch: NEONv1
    Tag_ABI_PCS_wchar_t: 4
    Tag_ABI_FP_denormal: Needed
    Tag_ABI_FP_exceptions: Needed
    Tag_ABI_FP_number_model: IEEE 754
    Tag_ABI_align_needed: 8-byte
    Tag_ABI_align_preserved: 8-byte, except leaf SP
    Tag_ABI_enum_size: int
    Tag_ABI_HardFP_use: SP and DP
    Tag_ABI_VFP_args: VFP registers
    Tag_ABI_optimization_goals: Aggressive Speed
    Tag_CPU_unaligned_access: v6
    Tag_DIV_use: Not allowed


  address@hidden:~/projects/src/CustomFirmware> gdb qemu-arm
  GNU gdb (GDB; openSUSE 13.1) 7.6.50.20130731-cvs
  Copyright (C) 2013 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
  and "show warranty" for details.
  This GDB was configured as "x86_64-suse-linux".
  Type "show configuration" for configuration details.
  For bug reporting instructions, please see:
  <http://bugs.opensuse.org/>.
  Find the GDB manual and other documentation resources online at:
  <http://www.gnu.org/software/gdb/documentation/>.
  For help, type "help".
  Type "apropos word" to search for commands related to "word".
  ..
  Reading symbols from /home/chorler/projects/bin/qemu-arm...done.
  (gdb) list main.c:685
  680
  681         for(;;) {
  682             cpu_exec_start(cs);
  683             trapnr = cpu_arm_exec(env);
  684             cpu_exec_end(cs);
  685             switch(trapnr) {
  686             case EXCP_UDEF:
  687                 {
  688                     TaskState *ts = cs->opaque;
  689                     uint32_t opcode;
  (gdb) break main.c:685
  Breakpoint 3 at 0x60059773: file 
/home/chorler/projects/src/qemu/linux-user/main.c, line 685.
  (gdb) run -L ./root 
./root/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtCore.so.4.6.2
  Starting program: /home/chorler/projects/bin/qemu-arm -L ./root 
./root/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtCore.so.4.6.2
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib64/libthread_db.so.1".

  Breakpoint 3, cpu_loop (address@hidden) at 
/home/chorler/projects/src/qemu/linux-user/main.c:685
  685             switch(trapnr) {
  (gdb) print trapnr
  $1 = 2
  (gdb) n
  762                     if (trapnr == EXCP_BKPT) {
  (gdb) n
  760                     env->eabi = 1;
  (gdb) n
  762                     if (trapnr == EXCP_BKPT) {
  (gdb) n
  775                         if (env->thumb) {
  (gdb) n
  777                             get_user_code_u16(insn, env->regs[15] - 2,
  (gdb) n
  775                         if (env->thumb) {
  (gdb) n
  782                             get_user_code_u32(insn, env->regs[15] - 4,
  (gdb) n
  784                             n = insn & 0xffffff;
  (gdb) n
  788                     if (n == ARM_NR_cacheflush) {
  (gdb) print n
  $2 = 587775
  (gdb) n
  790                     } else if (n == ARM_NR_semihosting
  (gdb) n
  793                     } else if (n == 0 || n >= ARM_SYSCALL_BASE || 
env->thumb) {
  (gdb) n
  872                 fprintf(stderr, "qemu: unhandled CPU exception 0x%x - 
aborting\n",
  (gdb) n
  qemu: unhandled CPU exception 0x2 - aborting
  874                 cpu_dump_state(cs, stderr, fprintf, 0);
  (gdb) print env
  $3 = (CPUARMState *) 0x6255e650
  (gdb) print *env
  $4 = {regs = {0, 4140322822, 0, 0, 0, 0, 0, 0, 0, 0, 4143947136, 0, 0, 
4140322224, 0, 4140691316}, xregs = {0 <repeats 32 times>}, pc = 0, pstate = 0, 
aarch64 = 0, uncached_cpsr = 16, 
    spsr = 0, banked_spsr = {0, 0, 0, 0, 0, 0}, banked_r13 = {0, 0, 0, 0, 0, 
0}, banked_r14 = {0, 0, 0, 0, 0, 0}, usr_regs = {0, 0, 0, 0, 0}, fiq_regs = {0, 
0, 0, 0, 0}, CF = 0, VF = 0, 
    NF = 16, ZF = 1073741824, QF = 0, GE = 0, thumb = 0, condexec_bits = 0, 
daif = 0, elr_el1 = 0, sp_el = {0, 0}, cp15 = {c0_cpuid = 0, c0_cssel = 0, 
c1_sys = 0, c1_coproc = 15728640, 
      c1_xscaleauxcr = 0, c1_scr = 0, ttbr0_el1 = 0, ttbr1_el1 = 0, c2_control 
= 0, c2_mask = 0, c2_base_mask = 4294950912, c2_data = 0, c2_insn = 0, c3 = 0, 
pmsav5_data_ap = 0, 
      pmsav5_insn_ap = 0, ifsr_el2 = 0, esr_el1 = 0, c6_region = {0, 0, 0, 0, 
0, 0, 0, 0}, far_el1 = 0, par_el1 = 0, c9_insn = 0, c9_data = 0, c9_pmcr = 0, 
c9_pmcnten = 0, c9_pmovsr = 0, 
      c9_pmxevtyper = 0, c9_pmuserenr = 0, c9_pminten = 0, mair_el1 = 0, 
c12_vbar = 0, c13_fcse = 0, contextidr_el1 = 0, tpidr_el0 = 0, tpidrro_el0 = 0, 
tpidr_el1 = 0, c14_cntfrq = 0, 
      c14_cntkctl = 0, c14_timer = {{cval = 0, ctl = 0}, {cval = 0, ctl = 0}}, 
c15_cpar = 0, c15_ticonfig = 0, c15_i_max = 0, c15_i_min = 0, c15_threadid = 0, 
c15_config_base_address = 0, 
      c15_diagnostic = 0, c15_power_diagnostic = 0, c15_power_control = 0, 
dbgbvr = {0 <repeats 16 times>}, dbgbcr = {0 <repeats 16 times>}, dbgwvr = {0 
<repeats 16 times>}, dbgwcr = {
        0 <repeats 16 times>}, c15_ccnt = 0}, v7m = {other_sp = 0, vecbase = 0, 
basepri = 0, control = 0, current_sp = 0, exception = 0, pending_exception = 
0}, exception = {
      syndrome = 1174468607, fsr = 0, vaddress = 0}, teecr = 0, teehbr = 0, vfp 
= {regs = {0 <repeats 64 times>}, xregs = {0, 0, 0, 0, 0, 0, 0, 0, 1073741824, 
0, 0, 0, 0, 0, 0, 0}, 
      vec_len = 0, vec_stride = 0, scratch = {0, 0, 0, 0, 0, 0, 0, 0}, 
fp_status = {float_detect_tininess = 1 '\001', float_rounding_mode = 0 '\000', 
float_exception_flags = 0 '\000', 
        floatx80_rounding_precision = 0 '\000', flush_to_zero = 0 '\000', 
flush_inputs_to_zero = 0 '\000', default_nan_mode = 0 '\000'}, 
standard_fp_status = {float_detect_tininess = 1 '\001', 
        float_rounding_mode = 0 '\000', float_exception_flags = 0 '\000', 
floatx80_rounding_precision = 0 '\000', flush_to_zero = 1 '\001', 
flush_inputs_to_zero = 1 '\001', 
        default_nan_mode = 1 '\001'}}, exclusive_addr = 0, exclusive_val = 0, 
exclusive_high = 0, exclusive_test = 0, exclusive_info = 0, iwmmxt = {regs = {0 
<repeats 16 times>}, val = 0, 
      cregs = {0 <repeats 16 times>}}, bswap_code = false, eabi = 1, features = 
93977026291, nvic = 0x0, boot_info = 0x0}
  (gdb) quit
  A debugging session is active.

          Inferior 1 [process 13185] will be killed.

  Quit anyway? (y or n) y

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1316115/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]