Skip to content

Conversation

boomanaiden154
Copy link
Contributor

Hex escapes of the form \xff are not universally supported in the printf implementations on the platforms that LLVM runs on (although they apparently are in the shell builtins). Octal escapes are required to be supported by POSIX. This patch converts all hex escapes to octal escapes for compatibility reasons.

This came up when trying to turn on lit's internal shell by default for llvm/. We started using /usr/bin/printf instead of the shell builtin on MacOS, which does not support hex escapes.

I used the following python script to automate most of the conversion with a few manual touchups needed:

import sys

def process_line(to_process: str):
    output = ""
    i = 0
    while i < len(to_process):
        if to_process[i:i+2] == '\\x':
            hex_string = to_process[i+2:i+4]
            number = int(hex_string, 16)
            output += "\\"
            octal_string = oct(number)[2:]
            if len(octal_string) == 1:
                octal_string = "00" + octal_string
            elif len(octal_string) == 2:
                octal_string = "0" + octal_string
            assert(len(octal_string) == 3)
            output += octal_string
            i += 4
        else:
            output += to_process[i]
            i += 1
    return output

with open(sys.argv[1]) as input_file:
    lines = input_file.readlines()

for i, _ in enumerate(lines):
    lines[i] = process_line(lines[i])

with open(sys.argv[1], 'w') as output_file:
    output_file.writelines(lines)

Hex escapes of the form \xff are not universally supported in the printf
implementations on the platforms that LLVM runs on (although they
apparently are in the shell builtins). Octal escapes are required to be
supported by POSIX. This patch converts all hex escapes to octal escapes
for compatibility reasons.

This came up when trying to turn on lit's internal shell by default for
llvm/. We started using /usr/bin/printf instead of the shell builtin on
MacOS, which does not support hex escapes.

I used the following python script to automate most of the conversion
with a few manual touchups needed:
```
import sys

def process_line(to_process: str):
    output = ""
    i = 0
    while i < len(to_process):
        if to_process[i:i+2] == '\\x':
            hex_string = to_process[i+2:i+4]
            number = int(hex_string, 16)
            output += "\\"
            octal_string = oct(number)[2:]
            if len(octal_string) == 1:
                octal_string = "00" + octal_string
            elif len(octal_string) == 2:
                octal_string = "0" + octal_string
            assert(len(octal_string) == 3)
            output += octal_string
            i += 4
        else:
            output += to_process[i]
            i += 1
    return output

with open(sys.argv[1]) as input_file:
    lines = input_file.readlines()

for i, _ in enumerate(lines):
    lines[i] = process_line(lines[i])

with open(sys.argv[1], 'w') as output_file:
    output_file.writelines(lines)
```
@llvmbot
Copy link
Member

llvmbot commented Sep 10, 2025

@llvm/pr-subscribers-debuginfo
@llvm/pr-subscribers-llvm-binary-utilities

@llvm/pr-subscribers-pgo

Author: Aiden Grossman (boomanaiden154)

Changes

Hex escapes of the form \xff are not universally supported in the printf implementations on the platforms that LLVM runs on (although they apparently are in the shell builtins). Octal escapes are required to be supported by POSIX. This patch converts all hex escapes to octal escapes for compatibility reasons.

This came up when trying to turn on lit's internal shell by default for llvm/. We started using /usr/bin/printf instead of the shell builtin on MacOS, which does not support hex escapes.

I used the following python script to automate most of the conversion with a few manual touchups needed:

import sys

def process_line(to_process: str):
    output = ""
    i = 0
    while i &lt; len(to_process):
        if to_process[i:i+2] == '\\x':
            hex_string = to_process[i+2:i+4]
            number = int(hex_string, 16)
            output += "\\"
            octal_string = oct(number)[2:]
            if len(octal_string) == 1:
                octal_string = "00" + octal_string
            elif len(octal_string) == 2:
                octal_string = "0" + octal_string
            assert(len(octal_string) == 3)
            output += octal_string
            i += 4
        else:
            output += to_process[i]
            i += 1
    return output

with open(sys.argv[1]) as input_file:
    lines = input_file.readlines()

for i, _ in enumerate(lines):
    lines[i] = process_line(lines[i])

with open(sys.argv[1], 'w') as output_file:
    output_file.writelines(lines)

Full diff: https://github.com/llvm/llvm-project/pull/157884.diff

14 Files Affected:

  • (modified) llvm/test/tools/llvm-cgdata/empty.test (+5-5)
  • (modified) llvm/test/tools/llvm-cgdata/error.test (+12-12)
  • (modified) llvm/test/tools/llvm-gsymutil/X86/elf-dwarf.yaml (+1-1)
  • (modified) llvm/test/tools/llvm-objcopy/ELF/add-invalid-note.test (+17-17)
  • (modified) llvm/test/tools/llvm-profdata/binary-ids-padding.test (+1-1)
  • (modified) llvm/test/tools/llvm-profdata/raw-32-bits-be.test (+2-2)
  • (modified) llvm/test/tools/llvm-profdata/raw-32-bits-le.test (+2-2)
  • (modified) llvm/test/tools/llvm-profdata/raw-64-bits-be.test (+2-2)
  • (modified) llvm/test/tools/llvm-profdata/raw-64-bits-le.test (+2-2)
  • (modified) llvm/test/tools/llvm-strings/negative-char.test (+1-1)
  • (modified) llvm/test/tools/llvm-strings/stdin.test (+2-2)
  • (modified) llvm/test/tools/llvm-symbolizer/basic.s (+2-2)
  • (modified) llvm/test/tools/llvm-symbolizer/split-dwarf-dwp.test (+1-1)
  • (modified) llvm/test/tools/sanstats/elf.test (+17-17)
diff --git a/llvm/test/tools/llvm-cgdata/empty.test b/llvm/test/tools/llvm-cgdata/empty.test
index 2082eca58f073..52d0dfb87623f 100644
--- a/llvm/test/tools/llvm-cgdata/empty.test
+++ b/llvm/test/tools/llvm-cgdata/empty.test
@@ -29,9 +29,9 @@ RUN: llvm-cgdata --convert %t_emptyheader.cgdata --format text | count 0
 #   uint64_t OutlinedHashTreeOffset;
 #   uint64_t StableFunctionMapOffset;
 # }
-RUN: printf '\xffcgdata\x81' > %t_header.cgdata
-RUN: printf '\x04\x00\x00\x00' >> %t_header.cgdata
-RUN: printf '\x00\x00\x00\x00' >> %t_header.cgdata
-RUN: printf '\x20\x00\x00\x00\x00\x00\x00\x00' >> %t_header.cgdata
-RUN: printf '\x20\x00\x00\x00\x00\x00\x00\x00' >> %t_header.cgdata
+RUN: printf '\377cgdata\201' > %t_header.cgdata
+RUN: printf '\004\000\000\000' >> %t_header.cgdata
+RUN: printf '\000\000\000\000' >> %t_header.cgdata
+RUN: printf '\040\000\000\000\000\000\000\000' >> %t_header.cgdata
+RUN: printf '\040\000\000\000\000\000\000\000' >> %t_header.cgdata
 RUN: diff %t_header.cgdata %t_emptyheader.cgdata
diff --git a/llvm/test/tools/llvm-cgdata/error.test b/llvm/test/tools/llvm-cgdata/error.test
index 9484371848a72..bf5e3ff6a4ed0 100644
--- a/llvm/test/tools/llvm-cgdata/error.test
+++ b/llvm/test/tools/llvm-cgdata/error.test
@@ -13,29 +13,29 @@ RUN: not llvm-cgdata --show %t_empty.cgdata 2>&1 | FileCheck %s --check-prefix=E
 EMPTY: {{.}}cgdata: empty codegen data
 
 # Not a magic.
-RUN: printf '\xff' > %t_malformed.cgdata
+RUN: printf '\377' > %t_malformed.cgdata
 RUN: not llvm-cgdata --show %t_malformed.cgdata 2>&1 | FileCheck %s --check-prefix=MALFORMED
 MALFORMED: {{.}}cgdata: malformed codegen data
 
 # The minimum header size is 24.
-RUN: printf '\xffcgdata\x81' > %t_corrupt.cgdata
+RUN: printf '\377cgdata\201' > %t_corrupt.cgdata
 RUN: not llvm-cgdata --show %t_corrupt.cgdata 2>&1 | FileCheck %s  --check-prefix=CORRUPT
 CORRUPT: {{.}}cgdata: invalid codegen data (file header is corrupt)
 
 # The current version 4 while the header says 5.
-RUN: printf '\xffcgdata\x81' > %t_version.cgdata
-RUN: printf '\x05\x00\x00\x00' >> %t_version.cgdata
-RUN: printf '\x00\x00\x00\x00' >> %t_version.cgdata
-RUN: printf '\x20\x00\x00\x00\x00\x00\x00\x00' >> %t_version.cgdata
-RUN: printf '\x20\x00\x00\x00\x00\x00\x00\x00' >> %t_version.cgdata
+RUN: printf '\377cgdata\201' > %t_version.cgdata
+RUN: printf '\005\000\000\000' >> %t_version.cgdata
+RUN: printf '\000\000\000\000' >> %t_version.cgdata
+RUN: printf '\040\000\000\000\000\000\000\000' >> %t_version.cgdata
+RUN: printf '\040\000\000\000\000\000\000\000' >> %t_version.cgdata
 RUN: not llvm-cgdata --show %t_version.cgdata 2>&1 | FileCheck %s  --check-prefix=BAD_VERSION
 BAD_VERSION: {{.}}cgdata: unsupported codegen data version
 
 # Header says an outlined hash tree, but the file ends after the header.
-RUN: printf '\xffcgdata\x81' > %t_eof.cgdata
-RUN: printf '\x02\x00\x00\x00' >> %t_eof.cgdata
-RUN: printf '\x01\x00\x00\x00' >> %t_eof.cgdata
-RUN: printf '\x20\x00\x00\x00\x00\x00\x00\x00' >> %t_eof.cgdata
-RUN: printf '\x20\x00\x00\x00\x00\x00\x00\x00' >> %t_eof.cgdata
+RUN: printf '\377cgdata\201' > %t_eof.cgdata
+RUN: printf '\002\000\000\000' >> %t_eof.cgdata
+RUN: printf '\001\000\000\000' >> %t_eof.cgdata
+RUN: printf '\040\000\000\000\000\000\000\000' >> %t_eof.cgdata
+RUN: printf '\040\000\000\000\000\000\000\000' >> %t_eof.cgdata
 RUN: not llvm-cgdata --show %t_eof.cgdata 2>&1 | FileCheck %s  --check-prefix=EOF
 EOF: {{.}}cgdata: end of File
diff --git a/llvm/test/tools/llvm-gsymutil/X86/elf-dwarf.yaml b/llvm/test/tools/llvm-gsymutil/X86/elf-dwarf.yaml
index 78795c62ec3ed..a01d63905cf89 100644
--- a/llvm/test/tools/llvm-gsymutil/X86/elf-dwarf.yaml
+++ b/llvm/test/tools/llvm-gsymutil/X86/elf-dwarf.yaml
@@ -5,7 +5,7 @@
 # RUN: yaml2obj %s -o %t
 # RUN: llvm-gsymutil --convert %t -o %t.gsym 2>&1 | FileCheck %s --check-prefix=CONVERT
 # RUN: llvm-gsymutil --address=0x400391 --address=0x4004cd %t.gsym 2>&1 | FileCheck %s --check-prefix=ADDR
-# RUN: echo -e "0x400391 %/t.gsym\n0x4004cd %/t.gsym" | llvm-gsymutil --addresses-from-stdin  2>&1 | FileCheck %s --check-prefix=ADDRI --dump-input=always
+# RUN: printf "0x400391 %/t.gsym\n0x4004cd %/t.gsym" | llvm-gsymutil --addresses-from-stdin  2>&1 | FileCheck %s --check-prefix=ADDRI --dump-input=always
 # RUN: llvm-gsymutil --address=0x400391 --address=0x4004cd --verbose %t.gsym 2>&1 | FileCheck %s --check-prefix=ADDRV --dump-input=always
 # RUN: llvm-gsymutil --address=0x400391 --address=0x4004cd --verbose %t.gsym 2>&1 | FileCheck %s --check-prefix=ADDRV --dump-input=always
 # RUN: llvm-gsymutil %t.gsym 2>&1 | FileCheck %s --check-prefix=DUMP
diff --git a/llvm/test/tools/llvm-objcopy/ELF/add-invalid-note.test b/llvm/test/tools/llvm-objcopy/ELF/add-invalid-note.test
index 9a28bbb9aa308..d4b535352020c 100644
--- a/llvm/test/tools/llvm-objcopy/ELF/add-invalid-note.test
+++ b/llvm/test/tools/llvm-objcopy/ELF/add-invalid-note.test
@@ -3,22 +3,22 @@
 ## Add [namesz, descsz, type, name, desc] for a build id.
 
 ## Notes should be padded to 8 bytes.
-# RUN: printf "\x04\x00\x00\x00" >  %t-miss-padding-note.bin
-# RUN: printf "\x07\x00\x00\x00" >> %t-miss-padding-note.bin
-# RUN: printf "\x03\x00\x00\x00" >> %t-miss-padding-note.bin
-# RUN: printf "GNU\x00"          >> %t-miss-padding-note.bin
-# RUN: printf "\x0c\x0d\x0e"     >> %t-miss-padding-note.bin
+# RUN: printf "\004\000\000\000" >  %t-miss-padding-note.bin
+# RUN: printf "\007\000\000\000" >> %t-miss-padding-note.bin
+# RUN: printf "\003\000\000\000" >> %t-miss-padding-note.bin
+# RUN: printf "GNU\000"          >> %t-miss-padding-note.bin
+# RUN: printf "\014\015\016"     >> %t-miss-padding-note.bin
 
 ## The namesz field bit is incorrect.
-# RUN: printf "\x08\x00\x00\x00" >  %t-invalid-size-note.bin
-# RUN: printf "\x07\x00\x00\x00" >> %t-invalid-size-note.bin
-# RUN: printf "\x03\x00\x00\x00" >> %t-invalid-size-note.bin
-# RUN: printf "GNU\x00"          >> %t-invalid-size-note.bin
-# RUN: printf "\x0c\x0d\x0e\x00" >> %t-invalid-size-note.bin
+# RUN: printf "\010\000\000\000" >  %t-invalid-size-note.bin
+# RUN: printf "\007\000\000\000" >> %t-invalid-size-note.bin
+# RUN: printf "\003\000\000\000" >> %t-invalid-size-note.bin
+# RUN: printf "GNU\000"          >> %t-invalid-size-note.bin
+# RUN: printf "\014\015\016\000" >> %t-invalid-size-note.bin
 
 ## Missing type field.
-# RUN: printf "\x08\x00\x00\x00" >  %t-short-note.bin
-# RUN: printf "\x07\x00\x00\x00" >> %t-short-note.bin
+# RUN: printf "\010\000\000\000" >  %t-short-note.bin
+# RUN: printf "\007\000\000\000" >> %t-short-note.bin
 
 # RUN: yaml2obj %s -o %t.o
 
@@ -33,11 +33,11 @@
 # CHECK-SHORT: .note.short data must be either empty or at least 12 bytes long
 
 ## Test compatibility with .note.gnu.property, which has 8-byte alignment.
-# RUN: printf "\x04\x00\x00\x00\x40\x00\x00\x00\x05\x00\x00\x00\x47\x4e\x55\x00" >  %t-note-gnu-property.bin
-# RUN: printf "\x02\x00\x00\xc0\x04\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00" >> %t-note-gnu-property.bin
-# RUN: printf "\x01\x80\x01\xc0\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00" >> %t-note-gnu-property.bin
-# RUN: printf "\x01\x00\x01\xc0\x04\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00" >> %t-note-gnu-property.bin
-# RUN: printf "\x02\x00\x01\xc0\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00" >> %t-note-gnu-property.bin
+# RUN: printf "\004\000\000\000\100\000\000\000\005\000\000\000\107\116\125\000" >  %t-note-gnu-property.bin
+# RUN: printf "\002\000\000\300\004\000\000\000\003\000\000\000\000\000\000\000" >> %t-note-gnu-property.bin
+# RUN: printf "\001\200\001\300\004\000\000\000\001\000\000\000\000\000\000\000" >> %t-note-gnu-property.bin
+# RUN: printf "\001\000\001\300\004\000\000\000\013\000\000\000\000\000\000\000" >> %t-note-gnu-property.bin
+# RUN: printf "\002\000\001\300\004\000\000\000\001\000\000\000\000\000\000\000" >> %t-note-gnu-property.bin
 # RUN: llvm-objcopy --add-section=.note.gnu.property=%t-note-gnu-property.bin %t.o %t-with-note-gnu-property.o
 
 ## Test that verification can be disabled.
diff --git a/llvm/test/tools/llvm-profdata/binary-ids-padding.test b/llvm/test/tools/llvm-profdata/binary-ids-padding.test
index 292c582b45c52..cc3e6c38e6907 100644
--- a/llvm/test/tools/llvm-profdata/binary-ids-padding.test
+++ b/llvm/test/tools/llvm-profdata/binary-ids-padding.test
@@ -69,7 +69,7 @@ RUN: printf '\0\0\0\0\0\0\0\0' >> %t.profraw
 
 RUN: printf '\067\265\035\031\112\165\023\344' >> %t.profraw
 RUN: printf '\02\0\0\0\0\0\0\0' >> %t.profraw
-RUN: printf '\xc8\xff\3\0\1\0\0\0' >> %t.profraw
+RUN: printf '\310\377\3\0\1\0\0\0' >> %t.profraw
 RUN: printf '\0\0\0\0\0\0\0\0' >> %t.profraw
 RUN: printf '\0\0\0\0\0\0\0\0' >> %t.profraw
 RUN: printf '\0\0\0\0\0\0\0\0' >> %t.profraw
diff --git a/llvm/test/tools/llvm-profdata/raw-32-bits-be.test b/llvm/test/tools/llvm-profdata/raw-32-bits-be.test
index fbd73ae30a5b3..6b3dc96b36270 100644
--- a/llvm/test/tools/llvm-profdata/raw-32-bits-be.test
+++ b/llvm/test/tools/llvm-profdata/raw-32-bits-be.test
@@ -31,8 +31,8 @@ RUN: printf '\0\0\0\3' >> %t
 
 RUN: printf '\344\023\165\112\031\035\265\067' >> %t
 RUN: printf '\0\0\0\0\0\0\0\2' >> %t
-RUN: printf '\0\xff\xff\xd8' >> %t
-RUN: printf '\2\xff\xff\xd3' >> %t
+RUN: printf '\0\377\377\330' >> %t
+RUN: printf '\2\377\377\323' >> %t
 RUN: printf '\0\0\0\0' >> %t
 RUN: printf '\0\0\0\0' >> %t
 RUN: printf '\0\0\0\2' >> %t
diff --git a/llvm/test/tools/llvm-profdata/raw-32-bits-le.test b/llvm/test/tools/llvm-profdata/raw-32-bits-le.test
index 91f10fc874586..95625565f5c0c 100644
--- a/llvm/test/tools/llvm-profdata/raw-32-bits-le.test
+++ b/llvm/test/tools/llvm-profdata/raw-32-bits-le.test
@@ -30,8 +30,8 @@ RUN: printf '\3\0\0\0' >> %t
 
 RUN: printf '\067\265\035\031\112\165\023\344' >> %t
 RUN: printf '\02\0\0\0\0\0\0\0' >> %t
-RUN: printf '\xd8\xff\xff\0' >> %t
-RUN: printf '\xd3\xff\xff\2' >> %t
+RUN: printf '\330\377\377\0' >> %t
+RUN: printf '\323\377\377\2' >> %t
 RUN: printf '\0\0\0\0' >> %t
 RUN: printf '\0\0\0\0' >> %t
 RUN: printf '\2\0\0\0' >> %t
diff --git a/llvm/test/tools/llvm-profdata/raw-64-bits-be.test b/llvm/test/tools/llvm-profdata/raw-64-bits-be.test
index e7694a1b5a73b..5316ef5a3e559 100644
--- a/llvm/test/tools/llvm-profdata/raw-64-bits-be.test
+++ b/llvm/test/tools/llvm-profdata/raw-64-bits-be.test
@@ -30,8 +30,8 @@ RUN: printf '\0\0\0\3' >> %t
 
 RUN: printf '\344\023\165\112\031\035\265\067' >> %t
 RUN: printf '\0\0\0\0\0\0\0\02' >> %t
-RUN: printf '\0\0\0\1\0\3\xff\xc8' >> %t
-RUN: printf '\0\0\0\3\0\3\xff\xc3' >> %t
+RUN: printf '\0\0\0\1\0\3\377\310' >> %t
+RUN: printf '\0\0\0\3\0\3\377\303' >> %t
 RUN: printf '\0\0\0\0\0\0\0\0' >> %t
 RUN: printf '\0\0\0\0\0\0\0\0' >> %t
 RUN: printf '\0\0\0\02' >> %t
diff --git a/llvm/test/tools/llvm-profdata/raw-64-bits-le.test b/llvm/test/tools/llvm-profdata/raw-64-bits-le.test
index 99d486b8a5176..58f4da8cf0386 100644
--- a/llvm/test/tools/llvm-profdata/raw-64-bits-le.test
+++ b/llvm/test/tools/llvm-profdata/raw-64-bits-le.test
@@ -30,8 +30,8 @@ RUN: printf '\3\0\0\0' >> %t
 
 RUN: printf '\067\265\035\031\112\165\023\344' >> %t
 RUN: printf '\02\0\0\0\0\0\0\0' >> %t
-RUN: printf '\xc8\xff\3\0\1\0\0\0' >> %t
-RUN: printf '\xc3\xff\3\0\3\0\0\0' >> %t
+RUN: printf '\310\377\3\0\1\0\0\0' >> %t
+RUN: printf '\303\377\3\0\3\0\0\0' >> %t
 RUN: printf '\0\0\0\0\0\0\0\0' >> %t
 RUN: printf '\0\0\0\0\0\0\0\0' >> %t
 RUN: printf '\02\0\0\0' >> %t
diff --git a/llvm/test/tools/llvm-strings/negative-char.test b/llvm/test/tools/llvm-strings/negative-char.test
index 8c60685bf70c1..5154886f9200f 100644
--- a/llvm/test/tools/llvm-strings/negative-char.test
+++ b/llvm/test/tools/llvm-strings/negative-char.test
@@ -1,6 +1,6 @@
 ## Show that llvm-strings can handle a negative signed char value (i.e. > 0x7f).
 ## Such characters should form string delimiters like other unprintable ones.
 
-# RUN: echo -e "z\0\x80\0a\0" | llvm-strings --bytes 1 - | FileCheck %s
+# RUN: printf "z\0\200\0a\0" | llvm-strings --bytes 1 - | FileCheck %s
 # CHECK: z{{$}}
 # CHECK-NEXT: {{^}}a
diff --git a/llvm/test/tools/llvm-strings/stdin.test b/llvm/test/tools/llvm-strings/stdin.test
index 9af474ca7ea76..06dcd194a3016 100644
--- a/llvm/test/tools/llvm-strings/stdin.test
+++ b/llvm/test/tools/llvm-strings/stdin.test
@@ -8,12 +8,12 @@ CASE1: abcdefg
 RUN: echo -n "abc" | llvm-strings - | FileCheck %s --implicit-check-not={{.}} --allow-empty
 
 ## Case 3: output with new line.
-RUN: echo -e "abcd\nefgh" | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
+RUN: printf "abcd\nefgh" | llvm-strings - | FileCheck %s --check-prefix=CASE3 --implicit-check-not={{.}}
 CASE3:      abcd
 CASE3-NEXT: efgh
 
 ## Case 4: output containing unprintable characters.
-RUN: echo -e "abcd\x00ef\x1fghij\x7fklmn" | llvm-strings - | FileCheck %s --check-prefix=CASE4 --implicit-check-not={{.}}
+RUN: printf "abcd\000ef\037ghij\177klmn" | llvm-strings - | FileCheck %s --check-prefix=CASE4 --implicit-check-not={{.}}
 CASE4:      abcd
 CASE4-NEXT: ghij
 CASE4-NEXT: klmn
diff --git a/llvm/test/tools/llvm-symbolizer/basic.s b/llvm/test/tools/llvm-symbolizer/basic.s
index 1a28f14f3eb4a..ac15da9156c01 100644
--- a/llvm/test/tools/llvm-symbolizer/basic.s
+++ b/llvm/test/tools/llvm-symbolizer/basic.s
@@ -8,8 +8,8 @@ foo:
 # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -g
 
 # Check input addresses specified on stdin.
-# RUN: echo -e "0xa\n0xb" | llvm-symbolizer --obj=%t.o | FileCheck %s
-# RUN: echo -e "10\n11" | llvm-symbolizer --obj=%t.o | FileCheck %s
+# RUN: printf "0xa\n0xb" | llvm-symbolizer --obj=%t.o | FileCheck %s
+# RUN: printf "10\n11" | llvm-symbolizer --obj=%t.o | FileCheck %s
 
 # Check input addresses specified on the command-line.
 # RUN: llvm-symbolizer 0xa 0xb --obj=%t.o | FileCheck %s
diff --git a/llvm/test/tools/llvm-symbolizer/split-dwarf-dwp.test b/llvm/test/tools/llvm-symbolizer/split-dwarf-dwp.test
index cadc5592961c7..cac9d9f52648c 100644
--- a/llvm/test/tools/llvm-symbolizer/split-dwarf-dwp.test
+++ b/llvm/test/tools/llvm-symbolizer/split-dwarf-dwp.test
@@ -3,7 +3,7 @@ RUN: mkdir -p %t
 
 RUN: cp %p/Inputs/split-dwarf-dwp.o %t/split-dwarf-dwp-different-name.o
 
-RUN: echo -e 'DATA 0\n0x54' | \
+RUN: printf 'DATA 0\n0x54' | \
 RUN:     llvm-symbolizer --dwp=%p/Inputs/split-dwarf-dwp.o.dwp \
 RUN:     --obj=%t/split-dwarf-dwp-different-name.o | FileCheck %s
 
diff --git a/llvm/test/tools/sanstats/elf.test b/llvm/test/tools/sanstats/elf.test
index b8f2d5d5b4f99..e230fbdc435fb 100644
--- a/llvm/test/tools/sanstats/elf.test
+++ b/llvm/test/tools/sanstats/elf.test
@@ -1,27 +1,27 @@
 # RUN: yaml2obj %s -o %t1.o
 # RUN: yaml2obj %s -o %t2.o
 
-# RUN: printf "\x04" > %t.stats
+# RUN: printf "\004" > %t.stats
 
 # RUN: printf "%%s" "%t1.o" >> %t.stats
-# RUN: printf "\x00" >> %t.stats
-# RUN: printf "\x01\x00\x00\x00\x01\x00\x00\x00" >> %t.stats
-# RUN: printf "\x11\x00\x00\x00\x02\x00\x00\x20" >> %t.stats
-# RUN: printf "\x21\x00\x00\x00\x03\x00\x00\x40" >> %t.stats
-# RUN: printf "\x01\x00\x00\x00\x04\x00\x00\x60" >> %t.stats
-# RUN: printf "\x11\x00\x00\x00\x05\x00\x00\x80" >> %t.stats
-# RUN: printf "\x21\x00\x00\x00\x06\x00\x00\xa0" >> %t.stats
-# RUN: printf "\x00\x00\x00\x00\x00\x00\x00\x00" >> %t.stats
+# RUN: printf "\000" >> %t.stats
+# RUN: printf "\001\000\000\000\001\000\000\000" >> %t.stats
+# RUN: printf "\021\000\000\000\002\000\000\040" >> %t.stats
+# RUN: printf "\041\000\000\000\003\000\000\100" >> %t.stats
+# RUN: printf "\001\000\000\000\004\000\000\140" >> %t.stats
+# RUN: printf "\021\000\000\000\005\000\000\200" >> %t.stats
+# RUN: printf "\041\000\000\000\006\000\000\240" >> %t.stats
+# RUN: printf "\000\000\000\000\000\000\000\000" >> %t.stats
 
 # RUN: printf "%%s" "%t2.o" >> %t.stats
-# RUN: printf "\x00" >> %t.stats
-# RUN: printf "\x21\x00\x00\x00\x07\x00\x00\x00" >> %t.stats
-# RUN: printf "\x11\x00\x00\x00\x08\x00\x00\x20" >> %t.stats
-# RUN: printf "\x01\x00\x00\x00\x09\x00\x00\x40" >> %t.stats
-# RUN: printf "\x21\x00\x00\x00\x0b\x00\x00\x60" >> %t.stats
-# RUN: printf "\x11\x00\x00\x00\x0c\x00\x00\x80" >> %t.stats
-# RUN: printf "\x01\x00\x00\x00\x0e\x00\x00\xa0" >> %t.stats
-# RUN: printf "\x00\x00\x00\x00\x00\x00\x00\x00" >> %t.stats
+# RUN: printf "\000" >> %t.stats
+# RUN: printf "\041\000\000\000\007\000\000\000" >> %t.stats
+# RUN: printf "\021\000\000\000\010\000\000\040" >> %t.stats
+# RUN: printf "\001\000\000\000\011\000\000\100" >> %t.stats
+# RUN: printf "\041\000\000\000\013\000\000\140" >> %t.stats
+# RUN: printf "\021\000\000\000\014\000\000\200" >> %t.stats
+# RUN: printf "\001\000\000\000\016\000\000\240" >> %t.stats
+# RUN: printf "\000\000\000\000\000\000\000\000" >> %t.stats
 
 # RUN: sanstats %t.stats | FileCheck %s
 

@cmtice
Copy link
Contributor

cmtice commented Sep 10, 2025

You tested this on MacOS?

@boomanaiden154
Copy link
Contributor Author

You tested this on MacOS?

Yeah. It passes locally for me after this.

@boomanaiden154 boomanaiden154 merged commit c745c54 into llvm:main Sep 10, 2025
13 checks passed
@boomanaiden154 boomanaiden154 deleted the hex-to-octal-printf branch September 10, 2025 19:45
@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 10, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux-bootstrap-hwasan running on sanitizer-buildbot11 while building llvm at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/55/builds/16975

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 87179 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
FAIL: lld :: ELF/ppc64-toc-call-to-pcrel-long-jump.s (86326 of 87179)
******************** TEST 'lld :: ELF/ppc64-toc-call-to-pcrel-long-jump.s' FAILED ********************
Exit Code: -11

Command Output (stdout):
--
# RUN: at line 2
split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/lld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp
# executed command: split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/lld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/llvm-mc -filetype=obj -triple=powerpc64le /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp/asm -o /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp.o
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/llvm-mc -filetype=obj -triple=powerpc64le /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp/asm -o /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp.o
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld -T /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp/lts /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp.o -o /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp_le
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld -T /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp/lts /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp.o -o /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp_le
# .---command stderr------------
# | ld.lld: warning: cannot find entry symbol _start; not setting start address
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# |  #0 0x0000b63b535da8e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld+0x4cba8e8)
# |  #1 0x0000b63b535d826c llvm::sys::RunSignalHandlers() (/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld+0x4cb826c)
# |  #2 0x0000b63b535db730 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
# |  #3 0x0000e52279a768f8 (linux-vdso.so.1+0x8f8)
# |  #4 0x0000b63b5386f228 lld::elf::Symbol::getVA(lld::elf::Ctx&, long) const (/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld+0x4f4f228)
# |  #5 0x0000b63b5388322c lld::elf::PPC64LongBranchTargetSection::writeTo(unsigned char*) (/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld+0x4f6322c)
# |  #6 0x0000b63b53820adc void lld::elf::OutputSection::writeTo<llvm::object::ELFType<(llvm::endianness)1, true>>(lld::elf::Ctx&, unsigned char*, llvm::parallel::TaskGroup&)::'lambda'(unsigned long, unsigned long)::operator()(unsigned long, unsigned long) const OutputSections.cpp:0:0
# |  #7 0x0000b63b53643294 std::_Function_handler<void (), llvm::parallel::TaskGroup::spawn(std::function<void ()>)::$_0>::_M_invoke(std::_Any_data const&) Parallel.cpp:0:0
# |  #8 0x0000b63b53642d60 llvm::parallel::detail::(anonymous namespace)::ThreadPoolExecutor::work(llvm::ThreadPoolStrategy, unsigned int) Parallel.cpp:0:0
# |  #9 0x0000e522792e1ae0 (/lib/aarch64-linux-gnu/libstdc++.so.6+0xe1ae0)
# | #10 0x0000e522790c595c (/lib/aarch64-linux-gnu/libc.so.6+0x8595c)
# | #11 0x0000e5227912ba4c (/lib/aarch64-linux-gnu/libc.so.6+0xeba4c)
# `-----------------------------
# error: command failed with exit status: -11

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Step 14 (stage3/hwasan check) failure: stage3/hwasan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:527: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 87179 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
FAIL: lld :: ELF/ppc64-toc-call-to-pcrel-long-jump.s (86326 of 87179)
******************** TEST 'lld :: ELF/ppc64-toc-call-to-pcrel-long-jump.s' FAILED ********************
Exit Code: -11

Command Output (stdout):
--
# RUN: at line 2
split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/lld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp
# executed command: split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/lld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/llvm-mc -filetype=obj -triple=powerpc64le /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp/asm -o /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp.o
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/llvm-mc -filetype=obj -triple=powerpc64le /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp/asm -o /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp.o
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld -T /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp/lts /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp.o -o /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp_le
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld -T /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp/lts /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp.o -o /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/tools/lld/test/ELF/Output/ppc64-toc-call-to-pcrel-long-jump.s.tmp_le
# .---command stderr------------
# | ld.lld: warning: cannot find entry symbol _start; not setting start address
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# |  #0 0x0000b63b535da8e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld+0x4cba8e8)
# |  #1 0x0000b63b535d826c llvm::sys::RunSignalHandlers() (/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld+0x4cb826c)
# |  #2 0x0000b63b535db730 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
# |  #3 0x0000e52279a768f8 (linux-vdso.so.1+0x8f8)
# |  #4 0x0000b63b5386f228 lld::elf::Symbol::getVA(lld::elf::Ctx&, long) const (/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld+0x4f4f228)
# |  #5 0x0000b63b5388322c lld::elf::PPC64LongBranchTargetSection::writeTo(unsigned char*) (/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build2_hwasan/bin/ld.lld+0x4f6322c)
# |  #6 0x0000b63b53820adc void lld::elf::OutputSection::writeTo<llvm::object::ELFType<(llvm::endianness)1, true>>(lld::elf::Ctx&, unsigned char*, llvm::parallel::TaskGroup&)::'lambda'(unsigned long, unsigned long)::operator()(unsigned long, unsigned long) const OutputSections.cpp:0:0
# |  #7 0x0000b63b53643294 std::_Function_handler<void (), llvm::parallel::TaskGroup::spawn(std::function<void ()>)::$_0>::_M_invoke(std::_Any_data const&) Parallel.cpp:0:0
# |  #8 0x0000b63b53642d60 llvm::parallel::detail::(anonymous namespace)::ThreadPoolExecutor::work(llvm::ThreadPoolStrategy, unsigned int) Parallel.cpp:0:0
# |  #9 0x0000e522792e1ae0 (/lib/aarch64-linux-gnu/libstdc++.so.6+0xe1ae0)
# | #10 0x0000e522790c595c (/lib/aarch64-linux-gnu/libc.so.6+0x8595c)
# | #11 0x0000e5227912ba4c (/lib/aarch64-linux-gnu/libc.so.6+0xeba4c)
# `-----------------------------
# error: command failed with exit status: -11

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
debuginfo llvm:binary-utilities PGO Profile Guided Optimizations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants