Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why can't I print? #1356

Open
shisuhao opened this issue Dec 10, 2020 · 5 comments
Open

Why can't I print? #1356

shisuhao opened this issue Dec 10, 2020 · 5 comments

Comments

@shisuhao
Copy link

Hello, everyone. Recently, I researched Hwasan, but I found out why Hwasan cannot print the same code after adding a print function.
demo like this:
[root@kwephicprd11837 test]# clang aa.c -o main -g -O0 -fsanitize=address -fsanitize-recover=address,all
aa.c:25:13: warning: implicitly declaring library function 'strstr' with type 'char *(const char *, const char *)' [-Wimplicit-function-declaration]
if (strstr(line_buff, "VmRSS:") != NULL)
^
aa.c:25:13: note: include the header <string.h> or explicitly provide a declaration for 'strstr'
aa.c:50:16: warning: implicit declaration of function 'getpid' is invalid in C99 [-Wimplicit-function-declaration]
int ppid = getpid();
^
aa.c:46:13: warning: array index 12 is past the end of the array (which contains 12 elements) [-Warray-bounds]
int b = a[12];
^ ~~
aa.c:45:5: note: array 'a' declared here
int a[12] = {0};
^
aa.c:49:14: warning: array index -1 is before the beginning of the array [-Warray-bounds]
int cc = abc[-1];
^ ~~
aa.c:48:5: note: array 'abc' declared here
int abc[10] = {0};
^
4 warnings generated.
[root@kwephicprd11837 test]# ./main
hello
nihao!
huaidan

==28940==ERROR: AddressSanitizer: stack-buffer-overflow on address 0xffffc34a24d0 at pc 0x0000004e9b90 bp 0xffffc34a2460 sp 0xffffc34a2478
READ of size 4 at 0xffffc34a24d0 thread T0
#0 0x4e9b8c in main /home/hss/test/aa.c:46:13
#1 0xffffafe3eadc in __libc_start_main (/lib64/libc.so.6+0x20adc)
#2 0x423098 in _start (/home/hss/test/main+0x423098)

Address 0xffffc34a24d0 is located in stack of thread T0 at offset 80 in frame
#0 0x4e995c in main /home/hss/test/aa.c:38

This frame has 2 object(s):
[32, 80) 'a' (line 45) <== Memory access at offset 80 overflows this variable
[112, 152) 'abc' (line 48)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions are supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/hss/test/aa.c:46:13 in main
Shadow bytes around the buggy address:
0x200ff8694440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff8694450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff8694460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff8694470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff8694480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x200ff8694490: f1 f1 f1 f1 00 00 00 00 00 00[f2]f2 f2 f2 f8 f8
0x200ff86944a0: f8 f8 f8 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00
0x200ff86944b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff86944c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff86944d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff86944e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc

==28940==ERROR: AddressSanitizer: stack-buffer-overflow on address 0xffffc34a24ec at pc 0x0000004e9c18 bp 0xffffc34a2460 sp 0xffffc34a2478
READ of size 4 at 0xffffc34a24ec thread T0
#0 0x4e9c14 in main /home/hss/test/aa.c:49:14
#1 0xffffafe3eadc in __libc_start_main (/lib64/libc.so.6+0x20adc)
#2 0x423098 in _start (/home/hss/test/main+0x423098)

Address 0xffffc34a24ec is located in stack of thread T0 at offset 108 in frame
#0 0x4e995c in main /home/hss/test/aa.c:38

This frame has 2 object(s):
[32, 80) 'a' (line 45)
[112, 152) 'abc' (line 48) <== Memory access at offset 108 underflows this variable
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions are supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/hss/test/aa.c:49:14 in main
Shadow bytes around the buggy address:
0x200ff8694440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff8694450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff8694460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff8694470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff8694480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x200ff8694490: f1 f1 f1 f1 00 00 00 00 00 00 f2 f2 f2[f2]00 00
0x200ff86944a0: 00 00 00 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00
0x200ff86944b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff86944c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff86944d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ff86944e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
28940
15096
q
[root@kwephicprd11837 test]#
[root@kwephicprd11837 test]#
[root@kwephicprd11837 test]# clang aa.c -o main -g -O0 -fsanitize=hwaddress -fsanitize-recover=hwaddress,all
aa.c:25:13: warning: implicitly declaring library function 'strstr' with type 'char *(const char *, const char *)' [-Wimplicit-function-declaration]
if (strstr(line_buff, "VmRSS:") != NULL)
^
aa.c:25:13: note: include the header <string.h> or explicitly provide a declaration for 'strstr'
aa.c:50:16: warning: implicit declaration of function 'getpid' is invalid in C99 [-Wimplicit-function-declaration]
int ppid = getpid();
^
aa.c:46:13: warning: array index 12 is past the end of the array (which contains 12 elements) [-Warray-bounds]
int b = a[12];
^ ~~
aa.c:45:5: note: array 'a' declared here
int a[12] = {0};
^
aa.c:49:14: warning: array index -1 is before the beginning of the array [-Warray-bounds]
int cc = abc[-1];
^ ~~
aa.c:48:5: note: array 'abc' declared here
int abc[10] = {0};
^
4 warnings generated.
[root@kwephicprd11837 test]# ./main
==29280==ERROR: HWAddressSanitizer: tag-mismatch on address 0xffffe901ff90 at pc 0xaaaabc9124d8
READ of size 4 at 0xffffe901ff90 tags: 97/00 (ptr/mem) in thread T0
#0 0xaaaabc9124d4 in main /home/hss/test/aa.c:46:13
#1 0xffffa6b70adc in __libc_start_main (/lib64/libc.so.6+0x20adc)
#2 0xaaaabc8d43bc in _start (/home/hss/test/main+0x63bc)

LLVMSymbolizer: error reading file: No such file or directory
0xffffe901ff90 is located 130960 bytes to the right of 0-byte global variable ?? [0xffffe9000000,0xffffe9000000) in [stack]
Address 0xffffe901ff90 is located in stack of thread T0
Thread: T0 0xeffe00002000 stack: [0xffffe8822000,0xffffe9022000) sz: 8388608 tls: [0xffffa6e7cb70,0xffffa6e7d2c0)
Previously allocated frames:
record_addr:0xffffa6b284b8 record:0x1ffaaaaabc9120f8 in main /home/hss/test/aa.c:38
Memory tags around the buggy address (one tag corresponds to 16 bytes):
0xfffefe901f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0xfffefe901ff0: 00 00 17 17 08 00 97 97 97 [00] 00 00 00 00 00 00
0xfffefe902000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Tags for short granules around the buggy address (one tag corresponds to 16 bytes):
0xfffefe901fe0: .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
=>0xfffefe901ff0: .. .. .. .. 17 .. .. .. .. [..] .. .. .. .. .. ..
0xfffefe902000: .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
See https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html#short-granules for a description of short granule tags
SUMMARY: HWAddressSanitizer: tag-mismatch /home/hss/test/aa.c:46:13 in main
==29280==ERROR: HWAddressSanitizer: tag-mismatch on address 0xffffe901ff1c at pc 0xaaaabc912648
READ of size 4 at 0xffffe901ff1c tags: 17/00 (ptr/mem) in thread T0
#0 0xaaaabc912644 in main /home/hss/test/aa.c:49:14
#1 0xffffa6b70adc in __libc_start_main (/lib64/libc.so.6+0x20adc)
#2 0xaaaabc8d43bc in _start (/home/hss/test/main+0x63bc)

0xffffe901ff1c is located -130844 bytes to the left of 0-byte global variable ?? [0xffffe9000000,0xffffe9000000) in [stack]
Address 0xffffe901ff1c is located in stack of thread T0
Previously allocated frames:
record_addr:0xffffa6b284b8 record:0x1ffaaaaabc9120f8 in main /home/hss/test/aa.c:38
Memory tags around the buggy address (one tag corresponds to 16 bytes):
0xfffefe901f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe901fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0xfffefe901ff0: 00 [00] 17 17 08 00 97 97 97 00 00 00 00 00 00 00
0xfffefe902000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xfffefe902070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Tags for short granules around the buggy address (one tag corresponds to 16 bytes):
0xfffefe901fe0: .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
=>0xfffefe901ff0: .. [..] .. .. 17 .. .. .. .. .. .. .. .. .. .. ..
0xfffefe902000: .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
See https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html#short-granules for a description of short granule tags
SUMMARY: HWAddressSanitizer: tag-mismatch /home/hss/test/aa.c:49:14 in main
[root@kwephicprd11837 test]#
[root@kwephicprd11837 test]# cat aa.c
#include <stdio.h>

int get_memory_by_pid(int p)
{
FILE *fd;
char name[32], line_buff[256] = {0}, file[64] = {0};
int i, vmrss = 0;

sprintf(file, "/proc/%d/status", p);
// 以R读的方式打开文件再赋给指针fd
fd = fopen(file, "r");
if(fd==NULL)
{
    return -1;
}

// 读取VmRSS这一行的数据
for (i = 0; i < 70; i++)
{
    if (fgets(line_buff, sizeof(line_buff), fd) == NULL)
    {
        break;
    }
    if (strstr(line_buff, "VmRSS:") != NULL)
    {
        sscanf(line_buff, "%s %d", name, &vmrss);
        break;
    }
}

fclose(fd);

return vmrss;

}

int main() {
printf("hello\r\n");
fflush(stdout);
printf("nihao!\n");
fflush(stdout);
printf("huaidan\n");
fflush(stdout);
int a[12] = {0};
int b = a[12];

int abc[10] = {0};
int cc = abc[-1];
int ppid = getpid();
printf("%d\n",ppid);	
printf("%d\n",get_memory_by_pid(ppid));
getchar();
return 0;

}
[root@kwephicprd11837 test]#
Can someone help you with that? Thank you very much!

@shisuhao
Copy link
Author

two questions:
1、Why is the printf function not output?
2、why getchar() does not work?

@kcc
Copy link
Contributor

kcc commented Dec 10, 2020

Is this x86_64 or AArch64?
On x86_64, HWASAN is not really supported (it works only to the extent that tiny tests can work)

@shisuhao
Copy link
Author

On x86_64, HWASAN is not really supported (it works only to the extent that tiny tests can work)
thanks.the follow:
[root@kwephicprd11837 test]# uname -a
Linux kwephicprd11837 4.19.25-vhulk1902.3.1.h128.eulerosv3r1.aarch64 #1 SMP Tue Feb 12 00:00:00 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
[root@kwephicprd11837 test]# uname -r
4.19.25-vhulk1902.3.1.h128.eulerosv3r1.aarch64
[root@kwephicprd11837 test]#

is aarch64 and it does not work?

@shisuhao
Copy link
Author

@kcc Can you give me some advice?

@shisuhao
Copy link
Author

I switched to an Aarch64 device, and I got this.followed:

[root@localhost test]# cat test.c
#include <stdio.h>

int a[16] = {0};

int main() {
//printf("hello \n");
//int a[10] = {0};
int b = a[16];
return 0;
}
[root@localhost test]# clang test.c -o main -g -fsanitize=address -fno-omit-frame-pointer
test.c:8:13: warning: array index 16 is past the end of the array (which contains 16 elements) [-Warray-bounds]
int b = a[16];
^ ~~
test.c:3:1: note: array 'a' declared here
int a[16] = {0};
^
1 warning generated.
[root@localhost test]# ./main

==6701==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000000e99520 at pc 0x0000004df978 bp 0xffffccd95aa0 sp 0xffffccd95ab8
READ of size 4 at 0x000000e99520 thread T0
#0 0x4df974 in main /home/hss/test/test.c:8:13
#1 0xffff9af00d20 in __libc_start_main (/lib64/libc.so.6+0x20d20)
#2 0x422f80 in _start (/home/hss/test/main+0x422f80)

0x000000e99520 is located 0 bytes to the right of global variable 'a' defined in 'test.c:3:5' (0xe994e0) of size 64
SUMMARY: AddressSanitizer: global-buffer-overflow /home/hss/test/test.c:8:13 in main
Shadow bytes around the buggy address:
0x0010001d3250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010001d3260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010001d3270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010001d3280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010001d3290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0010001d32a0: 00 00 00 00[f9]f9 f9 f9 00 00 00 00 00 00 00 00
0x0010001d32b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010001d32c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010001d32d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010001d32e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010001d32f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==6701==ABORTING
[root@localhost test]#
[root@localhost test]# clang test.c -o main -g -fsanitize=hwaddress -fno-omit-frame-pointer -v
clang version 10.0.0
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
Found candidate GCC installation: /usr/lib/gcc/aarch64-redhat-linux/8
Selected GCC installation: /usr/lib/gcc/aarch64-redhat-linux/8
Candidate multilib: .;@m64
Selected multilib: .;@m64
"/usr/local/bin/clang-10" -cc1 -triple aarch64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name test.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mthread-model posix -mframe-pointer=non-leaf -fmath-errno -fno-rounding-math -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu generic -target-feature +neon -target-abi aapcs -fallow-half-arguments-and-returns -dwarf-column-info -fno-split-dwarf-inlining -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -v -resource-dir /usr/local/lib/clang/10.0.0 -internal-isystem /usr/local/include -internal-isystem /usr/local/lib/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir /home/hss/test -ferror-limit 19 -fmessage-length 0 -fsanitize=hwaddress -fsanitize-system-blacklist=/usr/local/lib/clang/10.0.0/share/hwasan_blacklist.txt -default-function-attr hwasan-abi=interceptor -target-feature +tagged-globals -fno-signed-char -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -faddrsig -o /tmp/test-aeafdd.o -x c test.c
clang -cc1 version 10.0.0 based upon LLVM 10.0.0 default target aarch64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/local/lib/clang/10.0.0/include
/usr/include
End of search list.
test.c:8:13: warning: array index 16 is past the end of the array (which contains 16 elements) [-Warray-bounds]
int b = a[16];
^ ~~
test.c:3:1: note: array 'a' declared here
int a[16] = {0};
^
1 warning generated.
"/usr/bin/ld" -pie -EL --eh-frame-hdr -m aarch64linux -dynamic-linker /lib/ld-linux-aarch64.so.1 -o main /usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64/Scrt1.o /usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64/crti.o /usr/lib/gcc/aarch64-redhat-linux/8/crtbeginS.o -L/usr/lib/gcc/aarch64-redhat-linux/8 -L/usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64 -L/usr/local/bin/../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/aarch64-redhat-linux/8/../../.. -L/usr/local/bin/../lib -L/lib -L/usr/lib --whole-archive /usr/local/lib/clang/10.0.0/lib/linux/libclang_rt.hwasan-aarch64.a --no-whole-archive --dynamic-list=/usr/local/lib/clang/10.0.0/lib/linux/libclang_rt.hwasan-aarch64.a.syms /tmp/test-aeafdd.o --no-as-needed -lpthread -lrt -lm -ldl -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/aarch64-redhat-linux/8/crtendS.o /usr/lib/gcc/aarch64-redhat-linux/8/../../../../lib64/crtn.o
/usr/bin/ld: /tmp/test-aeafdd.o: unrecognized relocation (0x125) in section `.text'
/usr/bin/ld: Is this version of the linker - version 2.30-49.el8 - out of date ?
/usr/bin/ld: 最后的链结失败: 错误的值
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
[root@localhost test]#
[root@localhost test]#
[root@localhost test]# uname -r
4.18.0-80.el8.aarch64
[root@localhost test]# uname -a
Linux localhost.localdomain 4.18.0-80.el8.aarch64 #1 SMP Thu Jun 6 16:45:46 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
[root@localhost test]#

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

No branches or pull requests

2 participants