#49764: babl @0.1.14 falls back to clang-3.4 which is not functional on PPC platforms --------------------------+---------------------- Reporter: udbraumann | Owner: dbevans Type: enhancement | Status: assigned Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: powerpc Port: clang34 | --------------------------+---------------------- Comment (by ken-cunningham-webuse): and here's the full set of frame variables just prior to the step that generates the BAD_ACCESS error. {{{ Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2ca libmacho.1.dylib`getsectiondata + 36 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac2ca libmacho.1.dylib`getsectiondata + 36 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) frame variable sgp->cmd (uint32_t) sgp->cmd = <Parent failed to evaluate: variable not available.
(lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2ce libmacho.1.dylib`getsectiondata + 40 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac2ce libmacho.1.dylib`getsectiondata + 40 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) frame variable sgp->cmd (uint32_t) sgp->cmd = <Parent failed to evaluate: variable not available.
(lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2d2 libmacho.1.dylib`getsectiondata + 44 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac2d2 libmacho.1.dylib`getsectiondata + 44 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2d5 libmacho.1.dylib`getsectiondata + 47 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac2d5 libmacho.1.dylib`getsectiondata + 47 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2d8 libmacho.1.dylib`getsectiondata + 50 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac2d8 libmacho.1.dylib`getsectiondata + 50 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2dd libmacho.1.dylib`getsectiondata + 55 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac2dd libmacho.1.dylib`getsectiondata + 55 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2e3 libmacho.1.dylib`getsectiondata + 61 at getsecbyname.c:412, stop reason = instruction step into frame #0: 0x00000001001ac2e3 libmacho.1.dylib`getsectiondata + 61 at getsecbyname.c:412 409 slide = 0; 410 sp = 0; 411 sgp = (struct segment_command_64 *) -> 412 ((char *)mhp + sizeof(struct mach_header_64)); 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2e7 libmacho.1.dylib`getsectiondata + 65 at getsecbyname.c:412, stop reason = instruction step into frame #0: 0x00000001001ac2e7 libmacho.1.dylib`getsectiondata + 65 at getsecbyname.c:412 409 slide = 0; 410 sp = 0; 411 sgp = (struct segment_command_64 *) -> 412 ((char *)mhp + sizeof(struct mach_header_64)); 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ (lldb) frame variable sgp->cmd (uint32_t) sgp->cmd = 1166624768 (lldb) frame variable sgp->cmd --format string Invalid format character or name 'string'. Valid values are: "default" 'B' or "boolean" 'b' or "binary" 'y' or "bytes" 'Y' or "bytes with ASCII" 'c' or "character" 'C' or "printable character" 'F' or "complex float" 's' or "c-string" 'i' or "signed decimal" 'E' or "enumeration" 'x' or "hex" 'f' or "float" 'o' or "octal" 'O' or "OSType" 'U' or "unicode16" "unicode32" 'u' or "unsigned decimal" 'p' or "pointer" "char[]" "int8_t[]" "uint8_t[]" "int16_t[]" "uint16_t[]" "int32_t[]" "uint32_t[]" "int64_t[]" "uint64_t[]" "float32[]" "float64[]" "uint128_t[]" 'I' or "complex integer" 'a' or "character array" (lldb) frame variable sgp->cmd --format s (uint32_t) sgp->cmd = "" (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2e9 libmacho.1.dylib`getsectiondata + 67 at getsecbyname.c:412, stop reason = instruction step into frame #0: 0x00000001001ac2e9 libmacho.1.dylib`getsectiondata + 67 at getsecbyname.c:412 409 slide = 0; 410 sp = 0; 411 sgp = (struct segment_command_64 *) -> 412 ((char *)mhp + sizeof(struct mach_header_64)); 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ (lldb) frame variable sgp->cmd --format s (uint32_t) sgp->cmd = "" (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2ed libmacho.1.dylib`getsectiondata + 71 at getsecbyname.c:414, stop reason = instruction step into frame #0: 0x00000001001ac2ed libmacho.1.dylib`getsectiondata + 71 at getsecbyname.c:414 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); 413 for(i = 0; i < mhp->ncmds; i++){ -> 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; 417 } (lldb) frame variable sgp->cmd --format s (uint32_t) sgp->cmd = <Parent failed to evaluate: variable not available.
(lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2f1 libmacho.1.dylib`getsectiondata + 75 at getsecbyname.c:414, stop reason = instruction step into frame #0: 0x00000001001ac2f1 libmacho.1.dylib`getsectiondata + 75 at getsecbyname.c:414 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); 413 for(i = 0; i < mhp->ncmds; i++){ -> 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; 417 } (lldb) frame variable sgp->cmd --format s (uint32_t) sgp->cmd = <Parent failed to evaluate: variable not available.
(lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac37c libmacho.1.dylib`getsectiondata + 214 at getsecbyname.c:434, stop reason = instruction step into frame #0: 0x00000001001ac37c libmacho.1.dylib`getsectiondata + 214 at getsecbyname.c:434 431 } 432 } 433 } -> 434 sgp = (struct segment_command_64 *)((char *)sgp + sgp->cmdsize); 435 } 436 return(0); 437 } (lldb) frame variable sgp->cmd --format s (uint32_t) sgp->cmd = <Parent failed to evaluate: variable not available.
(lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac380 libmacho.1.dylib`getsectiondata + 218 at getsecbyname.c:434, stop reason = instruction step into frame #0: 0x00000001001ac380 libmacho.1.dylib`getsectiondata + 218 at getsecbyname.c:434 431 } 432 } 433 } -> 434 sgp = (struct segment_command_64 *)((char *)sgp + sgp->cmdsize); 435 } 436 return(0); 437 } (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac383 libmacho.1.dylib`getsectiondata + 221 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac383 libmacho.1.dylib`getsectiondata + 221 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) frame variable (const struct mach_header_64 *) mhp = 0x000000010000d610 (const char *) segname = 0x000000010000fcd1 "__TEXT" (const char *) sectname = 0x000000010000fcd8 "__eh_frame" (unsigned long *) size = 0x00007fff5fbfecc8 (uint32_t) i = 0 (intptr_t) slide = 0 (segment_command_64 *) sgp = <variable not available> (uint32_t) j = <variable not available> (section_64 *) sp = <variable not available> (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac386 libmacho.1.dylib`getsectiondata + 224 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac386 libmacho.1.dylib`getsectiondata + 224 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac389 libmacho.1.dylib`getsectiondata + 227 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac389 libmacho.1.dylib`getsectiondata + 227 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac38e libmacho.1.dylib`getsectiondata + 232 at getsecbyname.c:413, stop reason = instruction step into frame #0: 0x00000001001ac38e libmacho.1.dylib`getsectiondata + 232 at getsecbyname.c:413 410 sp = 0; 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); -> 413 for(i = 0; i < mhp->ncmds; i++){ 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; (lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2ed libmacho.1.dylib`getsectiondata + 71 at getsecbyname.c:414, stop reason = instruction step into frame #0: 0x00000001001ac2ed libmacho.1.dylib`getsectiondata + 71 at getsecbyname.c:414 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); 413 for(i = 0; i < mhp->ncmds; i++){ -> 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; 417 } (lldb) frame variable (const struct mach_header_64 *) mhp = 0x000000010000d610 (const char *) segname = 0x000000010000fcd1 "__TEXT" (const char *) sectname = 0x000000010000fcd8 "__eh_frame" (unsigned long *) size = 0x00007fff5fbfecc8 (uint32_t) i = 0 (intptr_t) slide = 0 (segment_command_64 *) sgp = <variable not available> (uint32_t) j = <variable not available> (section_64 *) sp = <variable not available> (lldb) frame variable sgp->cmd --format s (uint32_t) sgp->cmd = <Parent failed to evaluate: variable not available.
(lldb) thread step-inst Process 88388 stopped * thread #1: tid = 0x2d03, 0x00000001001ac2ed libmacho.1.dylib`getsectiondata + 71 at getsecbyname.c:414, stop reason = EXC_BAD_ACCESS (code=1, address=0x1e8c10800) frame #0: 0x00000001001ac2ed libmacho.1.dylib`getsectiondata + 71 at getsecbyname.c:414 411 sgp = (struct segment_command_64 *) 412 ((char *)mhp + sizeof(struct mach_header_64)); 413 for(i = 0; i < mhp->ncmds; i++){ -> 414 if(sgp->cmd == LC_SEGMENT_64){ 415 if(strcmp(sgp->segname, "__TEXT") == 0){ 416 slide = (uintptr_t)mhp - sgp->vmaddr; 417 } (lldb) thread step-inst }}} -- Ticket URL: <https://trac.macports.org/ticket/49764#comment:42> MacPorts <https://www.macports.org/> Ports system for OS X