Tested wanted: BSD-licensed libgcc replacement, libcompiler_rt

From: Ed Schouten <ed_at_80386.nl>
Date: Fri, 22 Oct 2010 16:30:24 +0200
Hello everyone,

At EuroBSDCon I was talking with some committers active in the area of
Clang (brooks, kwm, others) about replacing our libgcc shipped with GCC
4.2.1 with a BSD-licensed version. The LLVM folks have a BSD licensed
implementation called libcompiler_rt. See:

	http://compiler-rt.llvm.org/

Right now it is already complete enough to replace libgcc.a and
libgcc_p.a (mostly math rountines), but it doesn't yet implement the
functionality (e.g. unwinder) to replace libgcc_eh.a, libgcc_eh_p.a and
libgcc_s.so.1.

I've created a branch in Subversion which replaces libgcc.a and
libgcc_p.a with libcompiler_rt.a and libcompiler_rt_p.a and symlinks it
to the original names. It seems to survive a `make universe' and it
works properly on at least amd64. Right now the only issue I can think
of, is that __clear_cache() is broken on ARM, but that can be fixed
trivially.

My plan would be to commit this work to HEAD by the end of November (1
month from now), but it would be nice if it could get some more testing
in the mean time, especially on non-x86 architectures.

How to test this:

- Check out the branch from SVN:
	svn co svn://svn.freebsd.org/base/user/ed/compiler-rt/
- Rebuild and reinstall world (and kernel).
- Rebuild all your software (yes, I know it's unfortunate).
- See whether software crashes or misbehaves, while it didn't do that
  previously.

In the mean time, I'll see if I can get the Ports folks to run an
exp-run with this branch, which should already give some coverage.

Thanks!

-- 
 Ed Schouten <ed_at_80386.nl>
 WWW: http://80386.nl/

Received on Fri Oct 22 2010 - 12:30:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:08 UTC