Page MenuHomeFreeBSD

Remove eprintf - it was needed only for ancient GCC assert.h
Needs ReviewPublic

Authored by emaste on May 20 2015, 2:26 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

As far as I can tell:

  • Prior to 2001 GCC used to provide its own assert.h
  • The GCC assert.h required __eprintf to emit the error message
  • FreeBSD's own assert.h never used this

so objects with references to __eprintf must have been compiled with a 15 year old GCC other than the one in the base system. I'm not sure we need to worry about that.

This came up because __eprintf references __stderrp, compilerrt_mumble, fflush and fprintf. This doesn't matter much when used as libgcc.a, although introduces a small additional link-time overhead for probably no value.

I would like to extend compiler-rt to libgcc_s.so as well, and this dependency seems silly there (even if in practice it will not be a problem).

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

emaste retitled this revision from to Remove eprintf - it was needed only for ancient GCC assert.h.
emaste updated this object.
emaste edited the test plan for this revision. (Show Details)
emaste added a reviewer: ed.
emaste set the repository for this revision to rS FreeBSD src repository - subversion.
ed edited edge metadata.
This revision is now accepted and ready to land.May 20 2015, 7:08 AM
ed removed a reviewer: ed.
This revision now requires review to proceed.Aug 2 2015, 9:58 AM