gcc entry point is 0x1600 not 0x08048000

cs
gcc
Author

dd21

Published

December 11, 2022

Abstract

gcc 直接链接,输出的位置是0x1060不是0x08048000

Referance

gcc 手册:man gcc

StackOverflow: https://stackoverflow.com/questions/66361767/why-does-not-entry-point-address-start-at-0x400000

解决方案

该问题是 gcc默认的动态链接地址,使用gcc -no-pie 即可解决问题, 默认是64位, 可以直接通过-32指定32位