From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7104 invoked by alias); 13 Nov 2012 20:13:37 -0000 Received: (qmail 7044 invoked by uid 48); 13 Nov 2012 20:13:18 -0000 From: "howarth at nitro dot med.uc.edu" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/55289] darwin bootstrap fails due to missing libsanitizer/interception/mach_override directory and files Date: Tue, 13 Nov 2012 20:13:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Keywords: X-Bugzilla-Severity: critical X-Bugzilla-Who: howarth at nitro dot med.uc.edu X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg01190.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55289 --- Comment #11 from Jack Howarth 2012-11-13 20:13:18 UTC --- For the simple test case... int main() { int i; i=5; } compiled with 'g++-fsf-4.8 -faddress-sanitizer -O0 -framework CoreFoundation test.cc -lasan' using a mach_override.c with... #define DEBUG_DISASM 1 // #undef DEBUG_DISASM the errors appear late in the debug output at... Replacing function at 0x11183d630 First 16 bytes of the function: 48 8d 5 11 4f b 0 53 48 8d 5f e0 48 89 77 90 To disassemble, save the following function as disas.c and run: gcc -c disas.c && gobjdump -d disas.o The first 16 bytes of the original function will start after four nop instructions. void foo() { asm volatile("nop;nop;nop;nop;"); asm volatile(".byte 0x48, 0x8d, 0x5, 0x11, 0x4f, 0xb, 0x0, 0x53;"); asm volatile(".byte 0x48, 0x8d, 0x5f, 0xe0, 0x48, 0x89, 0x77, 0x90;"); } Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 8d FAIL Matching: 48 8d FAIL Matching: 48 8d FAIL Matching: 48 8d FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 8d FAIL Matching: 48 8d FAIL Matching: 48 FAIL Matching: 48 8d FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 FAIL Matching: 48 8d FAIL mach_override: some instructions unknown! Need to update mach_override.c overridePossible = false @299 err = f8000001 ../../../../gcc-4.8-20121113/libsanitizer/interception/mach_override/mach_override.c:308 err = f8000001 ../../../../gcc-4.8-20121113/libsanitizer/interception/mach_override/mach_override.c:321 err = f8000001 ../../../../gcc-4.8-20121113/libsanitizer/interception/mach_override/mach_override.c:327 err = f8000001 ../../../../gcc-4.8-20121113/libsanitizer/interception/mach_override/mach_override.c:340 err = f8000001 ../../../../gcc-4.8-20121113/libsanitizer/interception/mach_override/mach_override.c:345 First 16 bytes of the function after slicing: 48 8d 5 11 4f b 0 53 48 8d 5f e0 48 89 77 90 Replacing function at 0x7fff94c23364