- make tinderbox, readelf -n of resulting /bin/sh, libc.so.7
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
I got tired of reworking the crt changes with lots of conflicts as I moved the ABI tag note around, so wanted to pause and simplify the build glue first so that the diffs would be smaller and more obvious.
The next step after this I think is to switch to having most of Makefile.inc in lib/csu/Makefile itself where the MD Makefiles become Makefile.inc so it's more like how libc's Makefile works, but I think this is a useful checkpoint before doing that.
lib/csu/amd64/Makefile | ||
---|---|---|
8 ↗ | (On Diff #73975) | crtbrand.o is surely MI, but I'm not sure if ignore_init is MI as well or if it should remain MD (all arch do it, but I'm not sure if that's by design). |
lib/csu/amd64/Makefile | ||
---|---|---|
8 ↗ | (On Diff #73975) | In theory it is up to the compiler (i.e. not even part of the ABI). Practically, I remember that gcc auto-detects where the constructors are called, from crt1 or by ld-elf.so, and adapts to the platform. And glibc was converted to contructors from ld-elf, which was the reason why we followed the suit. I think we can claim that not calling constructors from crt is no longer MD. |