[compiler-rt] [llvm] [asan] Catch `initialization-order-fiasco` in modules without globals (PR #104621)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 16 22:09:53 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-hexagon-elf` running on `hexagon-build-02` while building `compiler-rt,llvm` at step 5 "ninja check 1".

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

Here is the relevant piece of the build log for the reference:
```
Step 5 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'Clang :: CodeGen/sanitize-ignorelist-mainfile.c' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: rm -rf /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/tools/clang/test/CodeGen/Output/sanitize-ignorelist-mainfile.c.tmp && split-file /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/llvm/clang/test/CodeGen/sanitize-ignorelist-mainfile.c /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/tools/clang/test/CodeGen/Output/sanitize-ignorelist-mainfile.c.tmp && cd /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/tools/clang/test/CodeGen/Output/sanitize-ignorelist-mainfile.c.tmp
+ rm -rf /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/tools/clang/test/CodeGen/Output/sanitize-ignorelist-mainfile.c.tmp
+ split-file /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/llvm/clang/test/CodeGen/sanitize-ignorelist-mainfile.c /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/tools/clang/test/CodeGen/Output/sanitize-ignorelist-mainfile.c.tmp
+ cd /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/tools/clang/test/CodeGen/Output/sanitize-ignorelist-mainfile.c.tmp
RUN: at line 3: /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/bin/clang -cc1 -internal-isystem /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/lib/clang/20/include -nostdsysteminc -emit-llvm -triple x86_64 -fsanitize=address,alignment a.c -o - | /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/llvm/clang/test/CodeGen/sanitize-ignorelist-mainfile.c --check-prefixes=CHECK,DEFAULT
+ /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/bin/clang -cc1 -internal-isystem /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/lib/clang/20/include -nostdsysteminc -emit-llvm -triple x86_64 -fsanitize=address,alignment a.c -o -
+ /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/llvm/clang/test/CodeGen/sanitize-ignorelist-mainfile.c --check-prefixes=CHECK,DEFAULT
RUN: at line 4: /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/bin/clang -cc1 -internal-isystem /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/lib/clang/20/include -nostdsysteminc -emit-llvm -triple x86_64 -fsanitize=address,alignment -fsanitize-ignorelist=a.list a.c -o - | /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/llvm/clang/test/CodeGen/sanitize-ignorelist-mainfile.c --check-prefixes=CHECK,IGNORE
+ /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/bin/clang -cc1 -internal-isystem /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/lib/clang/20/include -nostdsysteminc -emit-llvm -triple x86_64 -fsanitize=address,alignment -fsanitize-ignorelist=a.list a.c -o -
+ /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/stage1/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/llvm/clang/test/CodeGen/sanitize-ignorelist-mainfile.c --check-prefixes=CHECK,IGNORE
/local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/llvm/clang/test/CodeGen/sanitize-ignorelist-mainfile.c:35:16: error: IGNORE-NOT: excluded string found in input
// IGNORE-NOT: @___asan_gen_
               ^
<stdin>:9:1: note: found here
@___asan_gen_ = private constant [4 x i8] c"a.c\00", align 1
^~~~~~~~~~~~~

Input file: <stdin>
Check file: /local/mnt/workspace/bots/hexagon-build-02/clang-hexagon-elf/llvm/clang/test/CodeGen/sanitize-ignorelist-mainfile.c

-dump-input=help explains the following input dump.

Input was:
<<<<<<
        1: ; ModuleID = 'a.c' 
        2: source_filename = "a.c" 
        3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" 
        4: target triple = "x86_64" 
        5:  
        6: @global_h = global i32 0, no_sanitize_address, align 4 
        7: @global_c = global i32 0, no_sanitize_address, align 4 
        8: @llvm.used = appending global [1 x ptr] [ptr @asan.module_ctor], section "llvm.metadata" 
        9: @___asan_gen_ = private constant [4 x i8] c"a.c\00", align 1 
not:35     !~~~~~~~~~~~~                                                 error: no match expected
       10: @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 1, ptr @asan.module_ctor, ptr null }] 
       11:  
       12: ; Function Attrs: noinline nounwind optnone 
       13: define dso_local i32 @foo(ptr noundef %x) #0 { 
       14: entry: 
        .
        .
        .
>>>>>>

--
...

```

https://github.com/llvm/llvm-project/pull/104621


More information about the llvm-commits mailing list