Bug 311318

Summary: ARM: "128-bit constant is not implemented" error message
Product: [Developer tools] valgrind Reporter: Mans Rullgard <mans>
Component: vexAssignee: Julian Seward <jseward>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 3.9.0.SVN   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Test case
Patch

Description Mans Rullgard 2012-12-07 19:22:20 UTC
Created attachment 75687 [details]
Test case

Running the attached program under valgrind produces this output:

==24333== Memcheck, a memory error detector
==24333== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==24333== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==24333== Command: ./a.out
==24333== 
V128{0xFFFF}
vex: the `impossible' happened:
   128-bit constant is not implemented
vex storage: T total 59509608 bytes allocated
vex storage: P total 528 bytes allocated

valgrind: the 'impossible' happened:
   LibVEX called failure_exit().
==24333==    at 0x3805EC0C: report_and_quit (m_libcassert.c:235)
==24333==    by 0xE28D200F: ???

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable
==24333==    at 0x8434: ??? (in /tmp/a.out)
Comment 1 Mans Rullgard 2012-12-07 19:26:55 UTC
Created attachment 75688 [details]
Patch

This patch makes the error go away. Not sure if it's the correct fix.
Comment 2 Julian Seward 2013-03-05 10:37:04 UTC
Fixed, r2693.  Thanks for the patch.  I think it was not quite right
and could have caused you to miss possible uninitialised value errors
in obscure circumstances.