Re: [CFT]: ClangBSD is selfhosting, we need testers now

From: Ulrich Spörlein <uqs_at_spoerlein.net>
Date: Thu, 22 Apr 2010 16:17:09 +0200
On Wed, 21.04.2010 at 23:30:15 +0200, Alexander Best wrote:
> Roman Divacky schrieb am 2010-04-21:
> > On Wed, Apr 21, 2010 at 09:44:45PM +0200, Alexander Best wrote:
> > > Roman Divacky schrieb am 2010-04-21:
> 
> > > [snip]
> 
> > > > 1) cd modules/sound/sound && make CC=gcc
> 
> > > after this step these are the sizes of sound.ko* in
> > > modules/sound/sound:
> 
> > > -rw-r--r--  1 root  wheel   449120 Apr 21 21:36 sound.ko
> > > -rw-r--r--  1 root  wheel  2284757 Apr 21 21:36 sound.ko.debug
> > > -rw-r--r--  1 root  wheel  2055512 Apr 21 21:36 sound.ko.symbols
> 
> > > > 2) make -V SRCS | tr " " "\n" | grep -v \.h | sort | grep
> > > >    "^[a-m].*"
> > > >    | xargs touch
> 
> > this line is wrong.. it creates empty files which are used instead
> > of touching the existing ones...  it needs to be adjusted so it
> > touches the files (thus forcing them to be rebuilt with the second
> > make invocation)
> 
> i'm now 100% sure that buffer.c is causing the problem. what i did to verify
> this was:
> 
> cd sys/modules/sound/sound && make CC=clang && touch
> ../../../dev/sound/pcm/buffer.c && make CC=gcc && make install
> 
> this gives me working sound!

Great stuff to have narrowed it down so much. Next logical step would be
to do the bisect on function-level scope.

Copy one half of buffer.c to buffer-clang.c, the other half to buffer-gcc.c,
adjust the Makefile to use buffer-{gcc,clang}.c instead of buffer.c and
compile them accordingly. Redo your tests till we know the single function(s)
where clang produces bad code.

Hang in there, the hard part is almost done!
Uli
Received on Thu Apr 22 2010 - 12:17:10 UTC

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