Let's begin with a Linux x86-64 example involving global variablesexhibiting various properties such as read-only versus writable,zero-initialized versus non-zero, and more.1234567#includeconstintro =1;intw0, w1 =1;int*constpw0 = &w0;intmain(){printf("%d %d %d %p\n", ro, w0, w1, pw0);}12345678910111213141516171819202122232425% clang -c -fpie a.c% clang -pie -fuse-ld=lld -Wl,-z,separate-loadable-segments a.o -o a% objdump -wt a | grep -P 'main|w[01]|ro$'00000000000010f0 g F .text 000000000000002e main0000000000003044 g O .bss 0000000000000004
...
继续阅读
(143)