"Christos Zoulas" writes: > Module Name: src > Committed By: christos > Date: Fri Nov 1 23:06:17 UTC 2024 > > Modified Files: > src/share/mk: bsd.lib.mk > > Log Message: > We need -fPIC too otherwise we end up with R_X86_64_PLT32 and not > R_X86_64_REX_GOTPCRELX and we can't build .so objects. I think we can > remove the -fPIE and use only -fPIC but this works for now.
-fPIE, -fPIC, -fpie, -fpic, and nothing, and effectively a 5-state thing. either *none*, one of large or small, and one of pie or pic. the last option seen is what matters. ie, it is not useful (but not harmful) to leave -fPIE if -fPIC is the last option. (the gcc manual isn't 100% clear about this being a state, and posts in bug reports often call it a 3-state thing, forgetting about the upper and lower case variants, that change the defined value of __PIC__ and __PIE__ from 1 to 2.) .mrg.