Closed
Description
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int func()
{
char c = 'b';
char str1[8];
memset(str1, c, 8);
return 0;
}
int main()
{
func();
return 0;
}
On a 32-bit architecture, when I compile this code into an object file and disassemble it using the objdump tool, the generated assembly instructions do not have the __stack_chk_fail function call, however arrch64 not, when target is arrch64 or x86.
llvm-objdump -d demo.o
The corresponding binary files of 32bit and arrch64 are as follows:
demo.zip