Skip to content

Conversation

aanm
Copy link
Member

@aanm aanm commented Feb 1, 2016

Signed-off-by: André Martins aanm90@gmail.com

Signed-off-by: André Martins <aanm90@gmail.com>
tgraf added a commit that referenced this pull request Feb 1, 2016
@tgraf tgraf merged commit 06ea995 into master Feb 1, 2016
@aanm aanm deleted the implementing-kubernetes-cni branch February 1, 2016 21:11
tgraf added a commit that referenced this pull request Jul 4, 2016
@Cyrus008 Cyrus008 mentioned this pull request May 4, 2021
chestack added a commit to chestack/cilium that referenced this pull request Sep 11, 2023
msune added a commit to msune/cilium that referenced this pull request Aug 11, 2025
Running all memmove tests in a single function made clang backend
crash (`Branch target out of insn range`).

It doesn't seem to correlate with a single test. Commenting from test
everything after:

```
test___builtin_memmove5_single(48);
```

Makes the test compile and pass. Inverting the selection, and only running
`test___builtin_memmove5_single(50);` to `test___builtin_memmove5_single(128);`
also makes the test compile & pass.

Split `test_builtin_memmove` into two to work-around.

Note: Unsure how we can report this to CLANG in a simple repro, given that it
seems to be "additive".

---

Details:

```
fatal error: error in backend: Branch target out of insn range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -I/home/user/dev/cilium2/bpf -I/home/user/dev/cilium2/bpf/include -g -O2 --target=bpf -std=gnu99 -nostdinc -ftrap-function=__undefined_trap -Wall -Wextra -Werror -Wshadow -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-gnu-variable-sized-type-not-at-end -Wimplicit-int-conversion -Wenum-conversion -Wimplicit-fallthrough -MD -mcpu=v3 -c builtins.c -o builtins.o
1.	<eof> parser at end of file
2.	Code generation
 #0 0x00007211191a63bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 cilium#1 0x00007211191a44f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 cilium#2 0x00007211190efff3 build-llvm/tools/clang/stage2-bins/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 cilium#3 0x00007211190effa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xceffa2)
 cilium#4 0x00007211191a0c70 llvm::sys::Process::Exit(int, bool) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Process.cpp:102:5
 cilium#5 0x000055d222d2891b (/usr/lib/llvm-18/bin/clang+0x1491b)
 cilium#6 0x00007211190fe01c _M_data /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:223:28
 cilium#7 0x00007211190fe01c _M_is_local /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:264:6
 cilium#8 0x00007211190fe01c _M_dispose /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:282:7
 cilium#9 0x00007211190fe01c ~basic_string /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:804:9
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/builtins-eae2ef.c
clang: note: diagnostic msg: /tmp/builtins-eae2ef.sh
clang: note: diagnostic msg:

********************
```

Signed-off-by: Marc Suñé <marc.sune@isovalent.com>
msune added a commit to msune/cilium that referenced this pull request Aug 11, 2025
Running all memmove tests in a single function made clang backend
crash (`Branch target out of insn range`).

It doesn't seem to correlate with a single test. Commenting from test
everything after:

```
test___builtin_memmove5_single(48);
```

Makes the test compile and pass. Inverting the selection, and only running
`test___builtin_memmove5_single(50);` to `test___builtin_memmove5_single(128);`
also makes the test compile & pass.

Split `test_builtin_memmove` into two to work-around.

Note: Unsure how we can report this to CLANG in a simple repro, given that it
seems to be "additive".

---

Details:

```
fatal error: error in backend: Branch target out of insn range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -I/home/user/dev/cilium2/bpf -I/home/user/dev/cilium2/bpf/include -g -O2 --target=bpf -std=gnu99 -nostdinc -ftrap-function=__undefined_trap -Wall -Wextra -Werror -Wshadow -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-gnu-variable-sized-type-not-at-end -Wimplicit-int-conversion -Wenum-conversion -Wimplicit-fallthrough -MD -mcpu=v3 -c builtins.c -o builtins.o
1.	<eof> parser at end of file
2.	Code generation
 #0 0x00007211191a63bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 cilium#1 0x00007211191a44f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 cilium#2 0x00007211190efff3 build-llvm/tools/clang/stage2-bins/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 cilium#3 0x00007211190effa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xceffa2)
 cilium#4 0x00007211191a0c70 llvm::sys::Process::Exit(int, bool) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Process.cpp:102:5
 cilium#5 0x000055d222d2891b (/usr/lib/llvm-18/bin/clang+0x1491b)
 cilium#6 0x00007211190fe01c _M_data /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:223:28
 cilium#7 0x00007211190fe01c _M_is_local /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:264:6
 cilium#8 0x00007211190fe01c _M_dispose /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:282:7
 cilium#9 0x00007211190fe01c ~basic_string /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:804:9
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/builtins-eae2ef.c
clang: note: diagnostic msg: /tmp/builtins-eae2ef.sh
clang: note: diagnostic msg:

********************
```

Signed-off-by: Marc Suñé <marc.sune@isovalent.com>
msune added a commit to msune/cilium that referenced this pull request Aug 11, 2025
Running all memmove tests in a single function made clang backend
crash (`Branch target out of insn range`).

It doesn't seem to correlate with a single test. Commenting from test
everything after:

```
test___builtin_memmove5_single(48);
```

Makes the test compile and pass. Inverting the selection, and only running
`test___builtin_memmove5_single(50);` to `test___builtin_memmove5_single(128);`
also makes the test compile & pass.

Split `test_builtin_memmove` into two to work-around.

Note: Unsure how we can report this to CLANG in a simple repro, given that it
seems to be "additive".

---

Details:

```
fatal error: error in backend: Branch target out of insn range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -I/home/user/dev/cilium2/bpf -I/home/user/dev/cilium2/bpf/include -g -O2 --target=bpf -std=gnu99 -nostdinc -ftrap-function=__undefined_trap -Wall -Wextra -Werror -Wshadow -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-gnu-variable-sized-type-not-at-end -Wimplicit-int-conversion -Wenum-conversion -Wimplicit-fallthrough -MD -mcpu=v3 -c builtins.c -o builtins.o
1.	<eof> parser at end of file
2.	Code generation
 #0 0x00007211191a63bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 cilium#1 0x00007211191a44f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 cilium#2 0x00007211190efff3 build-llvm/tools/clang/stage2-bins/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 cilium#3 0x00007211190effa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xceffa2)
 cilium#4 0x00007211191a0c70 llvm::sys::Process::Exit(int, bool) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Process.cpp:102:5
 cilium#5 0x000055d222d2891b (/usr/lib/llvm-18/bin/clang+0x1491b)
 cilium#6 0x00007211190fe01c _M_data /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:223:28
 cilium#7 0x00007211190fe01c _M_is_local /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:264:6
 cilium#8 0x00007211190fe01c _M_dispose /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:282:7
 cilium#9 0x00007211190fe01c ~basic_string /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:804:9
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/builtins-eae2ef.c
clang: note: diagnostic msg: /tmp/builtins-eae2ef.sh
clang: note: diagnostic msg:

********************
```

Signed-off-by: Marc Suñé <marc.sune@isovalent.com>
msune added a commit to msune/cilium that referenced this pull request Aug 13, 2025
Running all memmove tests in a single function made clang backend
crash (`Branch target out of insn range`).

It doesn't seem to correlate with a single test. Commenting from test
everything after:

```
test___builtin_memmove5_single(48);
```

Makes the test compile and pass. Inverting the selection, and only running
`test___builtin_memmove5_single(50);` to `test___builtin_memmove5_single(128);`
also makes the test compile & pass.

Split `test_builtin_memmove` into two to work-around.

Note: Unsure how we can report this to CLANG in a simple repro, given that it
seems to be "additive".

---

Details:

```
fatal error: error in backend: Branch target out of insn range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -I/home/user/dev/cilium2/bpf -I/home/user/dev/cilium2/bpf/include -g -O2 --target=bpf -std=gnu99 -nostdinc -ftrap-function=__undefined_trap -Wall -Wextra -Werror -Wshadow -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-gnu-variable-sized-type-not-at-end -Wimplicit-int-conversion -Wenum-conversion -Wimplicit-fallthrough -MD -mcpu=v3 -c builtins.c -o builtins.o
1.	<eof> parser at end of file
2.	Code generation
 #0 0x00007211191a63bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 cilium#1 0x00007211191a44f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 cilium#2 0x00007211190efff3 build-llvm/tools/clang/stage2-bins/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 cilium#3 0x00007211190effa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xceffa2)
 cilium#4 0x00007211191a0c70 llvm::sys::Process::Exit(int, bool) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Process.cpp:102:5
 cilium#5 0x000055d222d2891b (/usr/lib/llvm-18/bin/clang+0x1491b)
 cilium#6 0x00007211190fe01c _M_data /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:223:28
 cilium#7 0x00007211190fe01c _M_is_local /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:264:6
 cilium#8 0x00007211190fe01c _M_dispose /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:282:7
 cilium#9 0x00007211190fe01c ~basic_string /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:804:9
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/builtins-eae2ef.c
clang: note: diagnostic msg: /tmp/builtins-eae2ef.sh
clang: note: diagnostic msg:

********************
```

Signed-off-by: Marc Suñé <marc.sune@isovalent.com>
msune added a commit to msune/cilium that referenced this pull request Aug 14, 2025
Running all memmove tests in a single function made clang backend
crash (`Branch target out of insn range`).

It doesn't seem to correlate with a single test. Commenting from test
everything after:

```
test___builtin_memmove5_single(48);
```

Makes the test compile and pass. Inverting the selection, and only running
`test___builtin_memmove5_single(50);` to `test___builtin_memmove5_single(128);`
also makes the test compile & pass.

Split `test_builtin_memmove` into two to work-around.

Note: Unsure how we can report this to CLANG in a simple repro, given that it
seems to be "additive".

---

Details:

```
fatal error: error in backend: Branch target out of insn range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -I/home/user/dev/cilium2/bpf -I/home/user/dev/cilium2/bpf/include -g -O2 --target=bpf -std=gnu99 -nostdinc -ftrap-function=__undefined_trap -Wall -Wextra -Werror -Wshadow -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-gnu-variable-sized-type-not-at-end -Wimplicit-int-conversion -Wenum-conversion -Wimplicit-fallthrough -MD -mcpu=v3 -c builtins.c -o builtins.o
1.	<eof> parser at end of file
2.	Code generation
 #0 0x00007211191a63bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 cilium#1 0x00007211191a44f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 cilium#2 0x00007211190efff3 build-llvm/tools/clang/stage2-bins/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 cilium#3 0x00007211190effa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xceffa2)
 cilium#4 0x00007211191a0c70 llvm::sys::Process::Exit(int, bool) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Process.cpp:102:5
 cilium#5 0x000055d222d2891b (/usr/lib/llvm-18/bin/clang+0x1491b)
 cilium#6 0x00007211190fe01c _M_data /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:223:28
 cilium#7 0x00007211190fe01c _M_is_local /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:264:6
 cilium#8 0x00007211190fe01c _M_dispose /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:282:7
 cilium#9 0x00007211190fe01c ~basic_string /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:804:9
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/builtins-eae2ef.c
clang: note: diagnostic msg: /tmp/builtins-eae2ef.sh
clang: note: diagnostic msg:

********************
```

Signed-off-by: Marc Suñé <marc.sune@isovalent.com>
msune added a commit to msune/cilium that referenced this pull request Aug 14, 2025
Running all memmove tests in a single function made clang backend
crash (`Branch target out of insn range`).

It doesn't seem to correlate with a single test. Commenting from test
everything after:

```
test___builtin_memmove5_single(48);
```

Makes the test compile and pass. Inverting the selection, and only running
`test___builtin_memmove5_single(50);` to `test___builtin_memmove5_single(128);`
also makes the test compile & pass.

Split `test_builtin_memmove` into two to work-around.

Note: Unsure how we can report this to CLANG in a simple repro, given that it
seems to be "additive".

---

Details:

```
fatal error: error in backend: Branch target out of insn range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -I/home/user/dev/cilium2/bpf -I/home/user/dev/cilium2/bpf/include -g -O2 --target=bpf -std=gnu99 -nostdinc -ftrap-function=__undefined_trap -Wall -Wextra -Werror -Wshadow -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-gnu-variable-sized-type-not-at-end -Wimplicit-int-conversion -Wenum-conversion -Wimplicit-fallthrough -MD -mcpu=v3 -c builtins.c -o builtins.o
1.	<eof> parser at end of file
2.	Code generation
 #0 0x00007211191a63bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 cilium#1 0x00007211191a44f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 cilium#2 0x00007211190efff3 build-llvm/tools/clang/stage2-bins/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 cilium#3 0x00007211190effa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xceffa2)
 cilium#4 0x00007211191a0c70 llvm::sys::Process::Exit(int, bool) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Process.cpp:102:5
 cilium#5 0x000055d222d2891b (/usr/lib/llvm-18/bin/clang+0x1491b)
 cilium#6 0x00007211190fe01c _M_data /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:223:28
 cilium#7 0x00007211190fe01c _M_is_local /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:264:6
 cilium#8 0x00007211190fe01c _M_dispose /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:282:7
 cilium#9 0x00007211190fe01c ~basic_string /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:804:9
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/builtins-eae2ef.c
clang: note: diagnostic msg: /tmp/builtins-eae2ef.sh
clang: note: diagnostic msg:

********************
```

Signed-off-by: Marc Suñé <marc.sune@isovalent.com>
github-merge-queue bot pushed a commit that referenced this pull request Aug 14, 2025
Running all memmove tests in a single function made clang backend
crash (`Branch target out of insn range`).

It doesn't seem to correlate with a single test. Commenting from test
everything after:

```
test___builtin_memmove5_single(48);
```

Makes the test compile and pass. Inverting the selection, and only running
`test___builtin_memmove5_single(50);` to `test___builtin_memmove5_single(128);`
also makes the test compile & pass.

Split `test_builtin_memmove` into two to work-around.

Note: Unsure how we can report this to CLANG in a simple repro, given that it
seems to be "additive".

---

Details:

```
fatal error: error in backend: Branch target out of insn range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -I/home/user/dev/cilium2/bpf -I/home/user/dev/cilium2/bpf/include -g -O2 --target=bpf -std=gnu99 -nostdinc -ftrap-function=__undefined_trap -Wall -Wextra -Werror -Wshadow -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-gnu-variable-sized-type-not-at-end -Wimplicit-int-conversion -Wenum-conversion -Wimplicit-fallthrough -MD -mcpu=v3 -c builtins.c -o builtins.o
1.	<eof> parser at end of file
2.	Code generation
 #0 0x00007211191a63bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 #1 0x00007211191a44f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 #2 0x00007211190efff3 build-llvm/tools/clang/stage2-bins/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 #3 0x00007211190effa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xceffa2)
 #4 0x00007211191a0c70 llvm::sys::Process::Exit(int, bool) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Process.cpp:102:5
 #5 0x000055d222d2891b (/usr/lib/llvm-18/bin/clang+0x1491b)
 #6 0x00007211190fe01c _M_data /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:223:28
 #7 0x00007211190fe01c _M_is_local /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:264:6
 #8 0x00007211190fe01c _M_dispose /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:282:7
 #9 0x00007211190fe01c ~basic_string /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:804:9
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/builtins-eae2ef.c
clang: note: diagnostic msg: /tmp/builtins-eae2ef.sh
clang: note: diagnostic msg:

********************
```

Signed-off-by: Marc Suñé <marc.sune@isovalent.com>
rabelmervin pushed a commit to rabelmervin/cilium that referenced this pull request Aug 18, 2025
Running all memmove tests in a single function made clang backend
crash (`Branch target out of insn range`).

It doesn't seem to correlate with a single test. Commenting from test
everything after:

```
test___builtin_memmove5_single(48);
```

Makes the test compile and pass. Inverting the selection, and only running
`test___builtin_memmove5_single(50);` to `test___builtin_memmove5_single(128);`
also makes the test compile & pass.

Split `test_builtin_memmove` into two to work-around.

Note: Unsure how we can report this to CLANG in a simple repro, given that it
seems to be "additive".

---

Details:

```
fatal error: error in backend: Branch target out of insn range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: clang -I/home/user/dev/cilium2/bpf -I/home/user/dev/cilium2/bpf/include -g -O2 --target=bpf -std=gnu99 -nostdinc -ftrap-function=__undefined_trap -Wall -Wextra -Werror -Wshadow -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-gnu-variable-sized-type-not-at-end -Wimplicit-int-conversion -Wenum-conversion -Wimplicit-fallthrough -MD -mcpu=v3 -c builtins.c -o builtins.o
1.	<eof> parser at end of file
2.	Code generation
 #0 0x00007211191a63bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 cilium#1 0x00007211191a44f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 cilium#2 0x00007211190efff3 build-llvm/tools/clang/stage2-bins/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 cilium#3 0x00007211190effa2 (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xceffa2)
 cilium#4 0x00007211191a0c70 llvm::sys::Process::Exit(int, bool) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Process.cpp:102:5
 cilium#5 0x000055d222d2891b (/usr/lib/llvm-18/bin/clang+0x1491b)
 cilium#6 0x00007211190fe01c _M_data /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:223:28
 cilium#7 0x00007211190fe01c _M_is_local /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:264:6
 cilium#8 0x00007211190fe01c _M_dispose /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:282:7
 cilium#9 0x00007211190fe01c ~basic_string /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:804:9
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/builtins-eae2ef.c
clang: note: diagnostic msg: /tmp/builtins-eae2ef.sh
clang: note: diagnostic msg:

********************
```

Signed-off-by: Marc Suñé <marc.sune@isovalent.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants