Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Scott Long
On May 30, 2010, at 7:58 AM, Kostik Belousov wrote:
 On Sat, May 29, 2010 at 03:02:40PM +0200, Roman Divacky wrote:
 hi,
 
 ClangBSD was updated to LLVM/clang revision 104832 which is what we
 aim to import into HEAD in roughly a week. We would like the initial
 It was promised that before the import, the public discussion on
 the mailing list will happen. So far, nothing appeared on either
 arch@ or current@ providing argumentation why should we accept this.

Sounds like you're inviting the discussion right now.  I'll start =-)

1. I hate gcc with the burning heat of a million suns.  It's not a tool, it's a 
political weapon wielded by the FSF and their acolytes.  It's also a crummy 
piece of software that has been good enough for far too long.  Its 
development model is a burden to work with and has been a major liability 
towards FreeBSD releases in the past.  Its demise cannot happen soon enough.

2. Due to the political bent of the GPL3 and the FSF's insistence on shoving it 
down everyone's throats, FreeBSD is stuck with a dead-end version of gcc.  This 
has already been a liability in terms of addressing bugs in gcc itself, and it 
will only get worse as technology moves forward and gcc stands still.

3. Clang/LLVM has an active development base and a clear future.  It will move 
forward while gcc rots.  There simply is no future left in gcc unless the 
FreeBSD project decides to embrace the GPL3, and that's a move that has already 
been heavily discussed, debated, and decided on.  Anecdotally, I think that 
FreeBSD is benefiting from shunning the GPL3; it's made it an attractive option 
for companies looking for an unencumbered OS for their products.

4. While Clang is immature now, it will mature in the near future, and FreeBSD 
will benefit from that process.  FreeBSD will get built-in access to upcoming 
technologies like GCD+Blocks and better code editors and development tools that 
gcc will never support.  It'll break free of the development stranglehold that 
exists within gcc.  Clang has shown good agility in adapting to the needs of 
FreeBSD and the legacy of gcc, thanks in large part to the efforts of people 
like Roman.  Gcc has been nothing but drama and headache, even with the valiant 
efforts of people like Alexander Kabaev.

5.  If all of this turns out to not be true and Clang/LLVM fails, FreeBSD has 
lost nothing and can remove it from the base system.  Gcc remains where it is 
for now, at least until it's time for the remove gcc discussion.

The future is !gcc.  Putting Clang+LLVM into a position where it can be easily 
embraced by FreeBSD users will greatly benefit the FreeBSD project.

Scott

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Brandon Gooch
On Sat, May 29, 2010 at 8:02 AM, Roman Divacky rdiva...@freebsd.org wrote:
 hi,

 ClangBSD was updated to LLVM/clang revision 104832 which is what we aim to 
 import
 into HEAD in roughly a week. We would like the initial import to be as 
 painless
 as possible and therefore we ask you to test ClangBSD to assure that the 
 revision
 we are importing does not have some really embarassing bugs.

 How to do it (on i386 and amd64):

 0) install fresh devel/llvm-devel port

 1) svn co http://svn.freebsd.org/base/projects/clangbsd src

 2) echo NO_WERROR=  /etc/src.conf ; echo WERROR=  /etc/src.conf

 3) cd src  make buildworld

 4) make installworld DESTDIR=/usr/clangbsd

 5) (optional) try to build kernel with clang and boot it

        5.1) cd /sys/{arch}/conf
        5.2) config YOUR_KERNEL
        5.3) setenv CC clang in tcsh or export CC=clang in bash
        5.4) cd ../compile/YOUR_KERNEL
        5.5) make  make install

 please make sure that it builds (on amd64/i386) and that the resulting world
 is runnable. ie. try to chroot into it and do stuff. ie.

        chroot /clangbsd /bin/tcsh

        ... stuff ...


 there's a wiki page on this effort: 
 http://wiki.freebsd.org/BuildingFreeBSDWithClang

 please report back any problems/success to me and/or this mailing list.

 thank you for your testing!

 Roman Divacky on behalf of the ClangBSD team


I'm running on a full ClangBSD system (world and kernel), and I've
had no issues for the past couple of days. I've had the machine
working nearly constantly -- building new and updating installed
ports, running several ezjails (PostgreSQL, Apache 2.2, etc...), and
generally using/abusing my computer by watching Flash video on the
bsdconferences channel on YouTube...

So, what exactly should we expect, if anything, to break? :)

Is there anything more useful than an it works type of feedback that
a novice user like myself could provide?

And...

A Little Message To the ClangBSD Team:

As little more than a novice user, I realize that I don't have the
full picture of what moving from GCC to clang/llvm means to FreeBSD. I
don't have enough experience with either compiler technology or the
FreeBSD project to have a lot to say in any discussion or dialog
regarding the decisions to come. But I do trust the FreeBSD project as
a whole -- the technology and the people involved -- and it seems that
this is a mandatory step in order to continue to to enhance FreeBSD.

So thank you to the ClangBSD team for making awesome progress. It
makes me incredibly happy to see all those involved with ClangBSD,
especially Roman, stand up and steer FreeBSD toward the future.

Looking forward to it,

-Brandon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Roman Divacky
Hi,

I would like to propose to integrate clang/LLVM into FreeBSD HEAD
in the near future (days, not weeks).

clang/LLVM is a C/C++/ObjC compiler (framework) which aims to possibly
replace gcc. It is BSDL-like licensed. The sources are ~45MB (the
svn checkout is 97MB). Clang/LLVM is written in C++.

Clang can compile all of FreeBSD on i386/amd64 including world and booting
kernel. Other architectures that are close to working are MIPS, PowerPC
and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
sources and the build infrastructure and this is what we aim to integrate
at first.
  
The import of clang/LLVM was discussed at the toolchain summit May 10th
but I would like to hear your opinion. I got approval from core@ on
importing it.

So please share your support or resistance to the idea of importing clang.

Roman Divacky


pgpHiEeWDS1oU.pgp
Description: PGP signature


Re: AES NI vs BIOS settings

2010-05-31 Thread Kostik Belousov
On Sun, May 30, 2010 at 10:55:39PM -0700, Xin LI wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA256
 
 Hi,
 
 I just found that if I disable AES NI in BIOS setting, FreeBSD would
 be able to detect it on boot with:
 
 Features2=0x29ee3ffSSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,b17,DCA,SSE4.1,SSE4.2,POPCNT,AESNI
 
 However if it's set to enabled I got:
 
 Features2=0x9ee3fdSSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,b17,DCA,SSE4.1,SSE4.2,POPCNT
 
 The CPU was Xeon L5630 and motherboard is Supermicro X8STi with BIOS
 1.00c.  Should I consider this a BIOS issue with known workaround that I
 consider Disable as Enabled? :)

On the only machine with AESNI-capable Core i5 I have access to thanks
to Sentex Communications, AESNI bit is reported as 1 and aesni instructions
do work.

You could try to actually use aesni and see what is broken. I failed to
find a magic bit to enable/disable AESNI in the MSRs.


pgpAaPzJbjeZl.pgp
Description: PGP signature


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Ollivier Robert
According to Roman Divacky:
 So please share your support or resistance to the idea of importing clang.

Full support from me (but that will not be a surprise ;-))

-- 
Ollivier ROBERT -=- FreeBSD: The Power to Serve! -=- robe...@keltia.freenix.fr
In memoriam to Ondine : http://ondine.keltia.net/

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: SUJ and mount reporting

2010-05-31 Thread Ivan Voras
On 05/31/10 02:25, Bjoern A. Zeeb wrote:
 On Mon, 31 May 2010, Ivan Voras wrote:
 
 Shouldn't SU+J be visible in the output of mount somehow? I've just
 enabled it on a root file system of a machine and while tunefs and
 dumpfs report both soft-updates and SUJ are enabled (after reboot),
 the mount command only shows soft-updates. Alternative question:
 how to verify is it active on a live file system?

 (running CURRENT from a few hours ago, kernelworld synced)
 
 As previously stated - this is a hack to do what I think you are
 asking for:
 http://people.freebsd.org/~bz/20100309-03-mount.diff

Yes, this looks like it...

 Using tunefs, etc. for now would be better.

I did use tunefs, as I've said, but I'm concerned what would happen (if
it can - stale kernel?) if the superblock that tunefs reads from the
disk and the kernel state are different.

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Kostik Belousov
On Mon, May 31, 2010 at 12:03:17AM -0600, Scott Long wrote:
 On May 30, 2010, at 7:58 AM, Kostik Belousov wrote:
  On Sat, May 29, 2010 at 03:02:40PM +0200, Roman Divacky wrote:
  hi,
  
  ClangBSD was updated to LLVM/clang revision 104832 which is what we
  aim to import into HEAD in roughly a week. We would like the initial
  It was promised that before the import, the public discussion on
  the mailing list will happen. So far, nothing appeared on either
  arch@ or current@ providing argumentation why should we accept this.
 
 Sounds like you're inviting the discussion right now.  I'll start =-)
 
 1. I hate gcc with the burning heat of a million suns. It's not a
 tool, it's a political weapon wielded by the FSF and their acolytes.
 It's also a crummy piece of software that has been good enough for
 far too long. Its development model is a burden to work with and has
 been a major liability towards FreeBSD releases in the past. Its
 demise cannot happen soon enough.

 2. Due to the political bent of the GPL3 and the FSF's insistence
 on shoving it down everyone's throats, FreeBSD is stuck with a
 dead-end version of gcc. This has already been a liability in terms
 of addressing bugs in gcc itself, and it will only get worse as
 technology moves forward and gcc stands still.

 3. Clang/LLVM has an active development base and a clear future. It
 will move forward while gcc rots. There simply is no future left in
 gcc unless the FreeBSD project decides to embrace the GPL3, and that's
 a move that has already been heavily discussed, debated, and decided
 on. Anecdotally, I think that FreeBSD is benefiting from shunning the
 GPL3; it's made it an attractive option for companies looking for an
 unencumbered OS for their products.

 4. While Clang is immature now, it will mature in the near future,
 and FreeBSD will benefit from that process. FreeBSD will get built-in
 access to upcoming technologies like GCD+Blocks and better code
 editors and development tools that gcc will never support. It'll break
 free of the development stranglehold that exists within gcc. Clang has
 shown good agility in adapting to the needs of FreeBSD and the legacy
 of gcc, thanks in large part to the efforts of people like Roman. Gcc
 has been nothing but drama and headache, even with the valiant efforts
 of people like Alexander Kabaev.

 5. If all of this turns out to not be true and Clang/LLVM fails,
 FreeBSD has lost nothing and can remove it from the base system. Gcc
 remains where it is for now, at least until it's time for the remove
 gcc discussion.

 The future is !gcc. Putting Clang+LLVM into a position where it can
 be easily embraced by FreeBSD users will greatly benefit the FreeBSD
 project.

 Scott

I do not object to a single point in your message. On the other hand, all
said could be labeled as distilled propaganda.

My main concern is the usefulness of HEAD for routine bug-fixing process.

The proposed merge makes it relatively easy for users to start compiling
the system with CLang. Our HEAD userbase is one of the most valuable
project asset to ensure the quality of the system. After the support for
easy compilation with clang is imported, some substantial portion of the
HEAD users definitely start experimenting with it. This immediately makes
the bug reports against HEAD almost useless, since level of demotivation
when looking at the bug is immense. When you do know that the issue can
be in the compiler, and not the OS, why looking ?

Any bug analisys now shall start with exchange to verify which compiler
was used to build the reporter system, and ask to reproduce it with gcc.
[I am talking not only about gnats, but also mailing list questions,
private pleas for help etc].

My personal opinion is that pushing the import now at the present state
of clang makes a disservice to FreeBSD, and possible clang. Why not keep
the glue on the branch as it is ? Motivated testers willing to help
definitely can checkout from the branch. Import can happen when we are
satisfied with the quality of new compiler, instead of discontent about
old one.

Rather, I would consider the changes to ease the use of any external
compiler, from ports or whatever, bent into shape and kept up to date
with system progress very important, much less controversial and more
useful. Then, addicts of any kool-aid-compiler can drink their potion
without starting undesired relations. Unfortunately, this is not what
happen.


pgpYeQEsehxau.pgp
Description: PGP signature


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Roman Divacky
On Mon, May 31, 2010 at 12:56:17PM +0300, Kostik Belousov wrote:
 On Mon, May 31, 2010 at 12:03:17AM -0600, Scott Long wrote:
  On May 30, 2010, at 7:58 AM, Kostik Belousov wrote:
   On Sat, May 29, 2010 at 03:02:40PM +0200, Roman Divacky wrote:
   hi,
   
   ClangBSD was updated to LLVM/clang revision 104832 which is what we
   aim to import into HEAD in roughly a week. We would like the initial
   It was promised that before the import, the public discussion on
   the mailing list will happen. So far, nothing appeared on either
   arch@ or current@ providing argumentation why should we accept this.
  
  Sounds like you're inviting the discussion right now.  I'll start =-)
  
  1. I hate gcc with the burning heat of a million suns. It's not a
  tool, it's a political weapon wielded by the FSF and their acolytes.
  It's also a crummy piece of software that has been good enough for
  far too long. Its development model is a burden to work with and has
  been a major liability towards FreeBSD releases in the past. Its
  demise cannot happen soon enough.
 
  2. Due to the political bent of the GPL3 and the FSF's insistence
  on shoving it down everyone's throats, FreeBSD is stuck with a
  dead-end version of gcc. This has already been a liability in terms
  of addressing bugs in gcc itself, and it will only get worse as
  technology moves forward and gcc stands still.
 
  3. Clang/LLVM has an active development base and a clear future. It
  will move forward while gcc rots. There simply is no future left in
  gcc unless the FreeBSD project decides to embrace the GPL3, and that's
  a move that has already been heavily discussed, debated, and decided
  on. Anecdotally, I think that FreeBSD is benefiting from shunning the
  GPL3; it's made it an attractive option for companies looking for an
  unencumbered OS for their products.
 
  4. While Clang is immature now, it will mature in the near future,
  and FreeBSD will benefit from that process. FreeBSD will get built-in
  access to upcoming technologies like GCD+Blocks and better code
  editors and development tools that gcc will never support. It'll break
  free of the development stranglehold that exists within gcc. Clang has
  shown good agility in adapting to the needs of FreeBSD and the legacy
  of gcc, thanks in large part to the efforts of people like Roman. Gcc
  has been nothing but drama and headache, even with the valiant efforts
  of people like Alexander Kabaev.
 
  5. If all of this turns out to not be true and Clang/LLVM fails,
  FreeBSD has lost nothing and can remove it from the base system. Gcc
  remains where it is for now, at least until it's time for the remove
  gcc discussion.
 
  The future is !gcc. Putting Clang+LLVM into a position where it can
  be easily embraced by FreeBSD users will greatly benefit the FreeBSD
  project.
 
  Scott
 
 I do not object to a single point in your message. On the other hand, all
 said could be labeled as distilled propaganda.
 
 My main concern is the usefulness of HEAD for routine bug-fixing process.
 
 The proposed merge makes it relatively easy for users to start compiling
 the system with CLang. Our HEAD userbase is one of the most valuable
 project asset to ensure the quality of the system. After the support for
 easy compilation with clang is imported, some substantial portion of the
 HEAD users definitely start experimenting with it. This immediately makes
 the bug reports against HEAD almost useless, since level of demotivation
 when looking at the bug is immense. When you do know that the issue can
 be in the compiler, and not the OS, why looking ?
 
 Any bug analisys now shall start with exchange to verify which compiler
 was used to build the reporter system, and ask to reproduce it with gcc.
 [I am talking not only about gnats, but also mailing list questions,
 private pleas for help etc].
 
agreed. what do you propose to help identify/prevent situations when
people are reporting bugs coming from a compiler problem rather than
those from a genuine src problem?

people are already experimenting with clang installed from ports,
with gcc4.{3,4,5} from ports etc. by not importing clang we can
maybe delay this a little but it's coming anyway.

 My personal opinion is that pushing the import now at the present state
 of clang makes a disservice to FreeBSD, and possible clang. Why not keep
 the glue on the branch as it is ? Motivated testers willing to help
 definitely can checkout from the branch. Import can happen when we are
 satisfied with the quality of new compiler, instead of discontent about
 old one.
 
people have been testing stuff and identified bugs. those bugs were fixed.
there are sure some more but we need wider exposure to identify those
new bugs and also clasify them.

the amount of people who are willing and able to checkout and test external
branch is minimal. I feel we are at the point where more exposure is
necessary.

by importing we are sending a strong signal to various 3rd 

Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Scott Long
On May 31, 2010, at 3:56 AM, Kostik Belousov wrote:
 
 My personal opinion is that pushing the import now at the present state
 of clang makes a disservice to FreeBSD, and possible clang. Why not keep
 the glue on the branch as it is ? Motivated testers willing to help
 definitely can checkout from the branch. Import can happen when we are
 satisfied with the quality of new compiler, instead of discontent about
 old one.

Who is we, and what is their criteria?  Are you speaking for the entire 
FreeBSD project?

Scott

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: SUJ and mount reporting

2010-05-31 Thread Scott Long
On May 31, 2010, at 3:08 AM, Ivan Voras wrote:
 On 05/31/10 02:25, Bjoern A. Zeeb wrote:
 On Mon, 31 May 2010, Ivan Voras wrote:
 
 Shouldn't SU+J be visible in the output of mount somehow? I've just
 enabled it on a root file system of a machine and while tunefs and
 dumpfs report both soft-updates and SUJ are enabled (after reboot),
 the mount command only shows soft-updates. Alternative question:
 how to verify is it active on a live file system?
 
 (running CURRENT from a few hours ago, kernelworld synced)
 
 As previously stated - this is a hack to do what I think you are
 asking for:
 http://people.freebsd.org/~bz/20100309-03-mount.diff
 
 Yes, this looks like it...
 
 Using tunefs, etc. for now would be better.
 
 I did use tunefs, as I've said, but I'm concerned what would happen (if
 it can - stale kernel?) if the superblock that tunefs reads from the
 disk and the kernel state are different.
 

MNT_* flags need to be deprecated, and the attributes passed in both directions 
as key-value pairs.  I don't know if anyone else has thought about this and 
what it means for backwards compatibility.

Scott

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Kostik Belousov
On Mon, May 31, 2010 at 12:24:52PM +0200, Roman Divacky wrote:
 On Mon, May 31, 2010 at 12:56:17PM +0300, Kostik Belousov wrote:
  On Mon, May 31, 2010 at 12:03:17AM -0600, Scott Long wrote:
   On May 30, 2010, at 7:58 AM, Kostik Belousov wrote:
On Sat, May 29, 2010 at 03:02:40PM +0200, Roman Divacky wrote:
hi,

ClangBSD was updated to LLVM/clang revision 104832 which is what we
aim to import into HEAD in roughly a week. We would like the initial
It was promised that before the import, the public discussion on
the mailing list will happen. So far, nothing appeared on either
arch@ or current@ providing argumentation why should we accept this.
   
   Sounds like you're inviting the discussion right now.  I'll start =-)
   
   1. I hate gcc with the burning heat of a million suns. It's not a
   tool, it's a political weapon wielded by the FSF and their acolytes.
   It's also a crummy piece of software that has been good enough for
   far too long. Its development model is a burden to work with and has
   been a major liability towards FreeBSD releases in the past. Its
   demise cannot happen soon enough.
  
   2. Due to the political bent of the GPL3 and the FSF's insistence
   on shoving it down everyone's throats, FreeBSD is stuck with a
   dead-end version of gcc. This has already been a liability in terms
   of addressing bugs in gcc itself, and it will only get worse as
   technology moves forward and gcc stands still.
  
   3. Clang/LLVM has an active development base and a clear future. It
   will move forward while gcc rots. There simply is no future left in
   gcc unless the FreeBSD project decides to embrace the GPL3, and that's
   a move that has already been heavily discussed, debated, and decided
   on. Anecdotally, I think that FreeBSD is benefiting from shunning the
   GPL3; it's made it an attractive option for companies looking for an
   unencumbered OS for their products.
  
   4. While Clang is immature now, it will mature in the near future,
   and FreeBSD will benefit from that process. FreeBSD will get built-in
   access to upcoming technologies like GCD+Blocks and better code
   editors and development tools that gcc will never support. It'll break
   free of the development stranglehold that exists within gcc. Clang has
   shown good agility in adapting to the needs of FreeBSD and the legacy
   of gcc, thanks in large part to the efforts of people like Roman. Gcc
   has been nothing but drama and headache, even with the valiant efforts
   of people like Alexander Kabaev.
  
   5. If all of this turns out to not be true and Clang/LLVM fails,
   FreeBSD has lost nothing and can remove it from the base system. Gcc
   remains where it is for now, at least until it's time for the remove
   gcc discussion.
  
   The future is !gcc. Putting Clang+LLVM into a position where it can
   be easily embraced by FreeBSD users will greatly benefit the FreeBSD
   project.
  
   Scott
  
  I do not object to a single point in your message. On the other hand, all
  said could be labeled as distilled propaganda.
  
  My main concern is the usefulness of HEAD for routine bug-fixing process.
  
  The proposed merge makes it relatively easy for users to start compiling
  the system with CLang. Our HEAD userbase is one of the most valuable
  project asset to ensure the quality of the system. After the support for
  easy compilation with clang is imported, some substantial portion of the
  HEAD users definitely start experimenting with it. This immediately makes
  the bug reports against HEAD almost useless, since level of demotivation
  when looking at the bug is immense. When you do know that the issue can
  be in the compiler, and not the OS, why looking ?
  
  Any bug analisys now shall start with exchange to verify which compiler
  was used to build the reporter system, and ask to reproduce it with gcc.
  [I am talking not only about gnats, but also mailing list questions,
  private pleas for help etc].
  
 agreed. what do you propose to help identify/prevent situations when
 people are reporting bugs coming from a compiler problem rather than
 those from a genuine src problem?
If I have a good idea how to help a situation, I would described it. It
is very strange and worrying that you, who are pushing the import, ask
somebody about plan on identifying and handling the compiler bugs. I
would expect you to have a solid plan before the import. This lowers my
confidence in the proposal even further.

 
 people are already experimenting with clang installed from ports,
 with gcc4.{3,4,5} from ports etc. by not importing clang we can
 maybe delay this a little but it's coming anyway.
I am pretty much fine and happy with people experimenting with clang
or any other compilers from ports, custom built, whatever. This is very
different from importing some compiler into base. See below about signal.

 
  My personal opinion is that pushing the import now at the present state
  of 

Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Attilio Rao
2010/5/31 Kostik Belousov kostik...@gmail.com:
 On Mon, May 31, 2010 at 12:03:17AM -0600, Scott Long wrote:
 On May 30, 2010, at 7:58 AM, Kostik Belousov wrote:
  On Sat, May 29, 2010 at 03:02:40PM +0200, Roman Divacky wrote:
  hi,
 
  ClangBSD was updated to LLVM/clang revision 104832 which is what we
  aim to import into HEAD in roughly a week. We would like the initial
  It was promised that before the import, the public discussion on
  the mailing list will happen. So far, nothing appeared on either
  arch@ or current@ providing argumentation why should we accept this.

 Sounds like you're inviting the discussion right now.  I'll start =-)

 1. I hate gcc with the burning heat of a million suns. It's not a
 tool, it's a political weapon wielded by the FSF and their acolytes.
 It's also a crummy piece of software that has been good enough for
 far too long. Its development model is a burden to work with and has
 been a major liability towards FreeBSD releases in the past. Its
 demise cannot happen soon enough.

 2. Due to the political bent of the GPL3 and the FSF's insistence
 on shoving it down everyone's throats, FreeBSD is stuck with a
 dead-end version of gcc. This has already been a liability in terms
 of addressing bugs in gcc itself, and it will only get worse as
 technology moves forward and gcc stands still.

 3. Clang/LLVM has an active development base and a clear future. It
 will move forward while gcc rots. There simply is no future left in
 gcc unless the FreeBSD project decides to embrace the GPL3, and that's
 a move that has already been heavily discussed, debated, and decided
 on. Anecdotally, I think that FreeBSD is benefiting from shunning the
 GPL3; it's made it an attractive option for companies looking for an
 unencumbered OS for their products.

 4. While Clang is immature now, it will mature in the near future,
 and FreeBSD will benefit from that process. FreeBSD will get built-in
 access to upcoming technologies like GCD+Blocks and better code
 editors and development tools that gcc will never support. It'll break
 free of the development stranglehold that exists within gcc. Clang has
 shown good agility in adapting to the needs of FreeBSD and the legacy
 of gcc, thanks in large part to the efforts of people like Roman. Gcc
 has been nothing but drama and headache, even with the valiant efforts
 of people like Alexander Kabaev.

 5. If all of this turns out to not be true and Clang/LLVM fails,
 FreeBSD has lost nothing and can remove it from the base system. Gcc
 remains where it is for now, at least until it's time for the remove
 gcc discussion.

 The future is !gcc. Putting Clang+LLVM into a position where it can
 be easily embraced by FreeBSD users will greatly benefit the FreeBSD
 project.

 Scott

 I do not object to a single point in your message. On the other hand, all
 said could be labeled as distilled propaganda.

 My main concern is the usefulness of HEAD for routine bug-fixing process.

 The proposed merge makes it relatively easy for users to start compiling
 the system with CLang. Our HEAD userbase is one of the most valuable
 project asset to ensure the quality of the system. After the support for
 easy compilation with clang is imported, some substantial portion of the
 HEAD users definitely start experimenting with it. This immediately makes
 the bug reports against HEAD almost useless, since level of demotivation
 when looking at the bug is immense. When you do know that the issue can
 be in the compiler, and not the OS, why looking ?

 Any bug analisys now shall start with exchange to verify which compiler
 was used to build the reporter system, and ask to reproduce it with gcc.
 [I am talking not only about gnats, but also mailing list questions,
 private pleas for help etc].

 My personal opinion is that pushing the import now at the present state
 of clang makes a disservice to FreeBSD, and possible clang. Why not keep
 the glue on the branch as it is ? Motivated testers willing to help
 definitely can checkout from the branch. Import can happen when we are
 satisfied with the quality of new compiler, instead of discontent about
 old one.

FWIW, I entirely agree with Kostik here.
I really would like to see CLANG more integrated with FreeBSD only
when there are 0 or similar (well-known, already analyzed, listed
somewhere, etc.) bugs by the compiler rather than still being in the
middle of a bug storm. Besides, the 'debugging problem' is pretty much
real and nobody answered with a reasonable solution for it, and being
honest, I don't see the people pushing for the import concerned about
that at all.

Are all the bug reports collected somewhere? What's the state of their
resolution? There is a description somewhere of missing support and
things still to be addressed?

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein
___
freebsd-current@freebsd.org mailing list

Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Roman Divacky
On Mon, May 31, 2010 at 12:54:29PM +0200, Attilio Rao wrote:
 2010/5/31 Kostik Belousov kostik...@gmail.com:
  On Mon, May 31, 2010 at 12:03:17AM -0600, Scott Long wrote:
  On May 30, 2010, at 7:58 AM, Kostik Belousov wrote:
   On Sat, May 29, 2010 at 03:02:40PM +0200, Roman Divacky wrote:
   hi,
  
   ClangBSD was updated to LLVM/clang revision 104832 which is what we
   aim to import into HEAD in roughly a week. We would like the initial
   It was promised that before the import, the public discussion on
   the mailing list will happen. So far, nothing appeared on either
   arch@ or current@ providing argumentation why should we accept this.
 
  Sounds like you're inviting the discussion right now. ??I'll start =-)
 
  1. I hate gcc with the burning heat of a million suns. It's not a
  tool, it's a political weapon wielded by the FSF and their acolytes.
  It's also a crummy piece of software that has been good enough for
  far too long. Its development model is a burden to work with and has
  been a major liability towards FreeBSD releases in the past. Its
  demise cannot happen soon enough.
 
  2. Due to the political bent of the GPL3 and the FSF's insistence
  on shoving it down everyone's throats, FreeBSD is stuck with a
  dead-end version of gcc. This has already been a liability in terms
  of addressing bugs in gcc itself, and it will only get worse as
  technology moves forward and gcc stands still.
 
  3. Clang/LLVM has an active development base and a clear future. It
  will move forward while gcc rots. There simply is no future left in
  gcc unless the FreeBSD project decides to embrace the GPL3, and that's
  a move that has already been heavily discussed, debated, and decided
  on. Anecdotally, I think that FreeBSD is benefiting from shunning the
  GPL3; it's made it an attractive option for companies looking for an
  unencumbered OS for their products.
 
  4. While Clang is immature now, it will mature in the near future,
  and FreeBSD will benefit from that process. FreeBSD will get built-in
  access to upcoming technologies like GCD+Blocks and better code
  editors and development tools that gcc will never support. It'll break
  free of the development stranglehold that exists within gcc. Clang has
  shown good agility in adapting to the needs of FreeBSD and the legacy
  of gcc, thanks in large part to the efforts of people like Roman. Gcc
  has been nothing but drama and headache, even with the valiant efforts
  of people like Alexander Kabaev.
 
  5. If all of this turns out to not be true and Clang/LLVM fails,
  FreeBSD has lost nothing and can remove it from the base system. Gcc
  remains where it is for now, at least until it's time for the remove
  gcc discussion.
 
  The future is !gcc. Putting Clang+LLVM into a position where it can
  be easily embraced by FreeBSD users will greatly benefit the FreeBSD
  project.
 
  Scott
 
  I do not object to a single point in your message. On the other hand, all
  said could be labeled as distilled propaganda.
 
  My main concern is the usefulness of HEAD for routine bug-fixing process.
 
  The proposed merge makes it relatively easy for users to start compiling
  the system with CLang. Our HEAD userbase is one of the most valuable
  project asset to ensure the quality of the system. After the support for
  easy compilation with clang is imported, some substantial portion of the
  HEAD users definitely start experimenting with it. This immediately makes
  the bug reports against HEAD almost useless, since level of demotivation
  when looking at the bug is immense. When you do know that the issue can
  be in the compiler, and not the OS, why looking ?
 
  Any bug analisys now shall start with exchange to verify which compiler
  was used to build the reporter system, and ask to reproduce it with gcc.
  [I am talking not only about gnats, but also mailing list questions,
  private pleas for help etc].
 
  My personal opinion is that pushing the import now at the present state
  of clang makes a disservice to FreeBSD, and possible clang. Why not keep
  the glue on the branch as it is ? Motivated testers willing to help
  definitely can checkout from the branch. Import can happen when we are
  satisfied with the quality of new compiler, instead of discontent about
  old one.
 
 FWIW, I entirely agree with Kostik here.
 I really would like to see CLANG more integrated with FreeBSD only
 when there are 0 or similar (well-known, already analyzed, listed
 somewhere, etc.) bugs by the compiler rather than still being in the
 middle of a bug storm. Besides, the 'debugging problem' is pretty much
 real and nobody answered with a reasonable solution for it, and being
 honest, I don't see the people pushing for the import concerned about
 that at all.
 
 Are all the bug reports collected somewhere? What's the state of their
 resolution? There is a description somewhere of missing support and
 things still to be addressed?

there are no known clang bugs (at 

Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Attilio Rao
2010/5/31 Roman Divacky rdiva...@freebsd.org:
 On Mon, May 31, 2010 at 12:54:29PM +0200, Attilio Rao wrote:
 2010/5/31 Kostik Belousov kostik...@gmail.com:
  On Mon, May 31, 2010 at 12:03:17AM -0600, Scott Long wrote:
  On May 30, 2010, at 7:58 AM, Kostik Belousov wrote:
   On Sat, May 29, 2010 at 03:02:40PM +0200, Roman Divacky wrote:
   hi,
  
   ClangBSD was updated to LLVM/clang revision 104832 which is what we
   aim to import into HEAD in roughly a week. We would like the initial
   It was promised that before the import, the public discussion on
   the mailing list will happen. So far, nothing appeared on either
   arch@ or current@ providing argumentation why should we accept this.
 
  Sounds like you're inviting the discussion right now. ??I'll start =-)
 
  1. I hate gcc with the burning heat of a million suns. It's not a
  tool, it's a political weapon wielded by the FSF and their acolytes.
  It's also a crummy piece of software that has been good enough for
  far too long. Its development model is a burden to work with and has
  been a major liability towards FreeBSD releases in the past. Its
  demise cannot happen soon enough.
 
  2. Due to the political bent of the GPL3 and the FSF's insistence
  on shoving it down everyone's throats, FreeBSD is stuck with a
  dead-end version of gcc. This has already been a liability in terms
  of addressing bugs in gcc itself, and it will only get worse as
  technology moves forward and gcc stands still.
 
  3. Clang/LLVM has an active development base and a clear future. It
  will move forward while gcc rots. There simply is no future left in
  gcc unless the FreeBSD project decides to embrace the GPL3, and that's
  a move that has already been heavily discussed, debated, and decided
  on. Anecdotally, I think that FreeBSD is benefiting from shunning the
  GPL3; it's made it an attractive option for companies looking for an
  unencumbered OS for their products.
 
  4. While Clang is immature now, it will mature in the near future,
  and FreeBSD will benefit from that process. FreeBSD will get built-in
  access to upcoming technologies like GCD+Blocks and better code
  editors and development tools that gcc will never support. It'll break
  free of the development stranglehold that exists within gcc. Clang has
  shown good agility in adapting to the needs of FreeBSD and the legacy
  of gcc, thanks in large part to the efforts of people like Roman. Gcc
  has been nothing but drama and headache, even with the valiant efforts
  of people like Alexander Kabaev.
 
  5. If all of this turns out to not be true and Clang/LLVM fails,
  FreeBSD has lost nothing and can remove it from the base system. Gcc
  remains where it is for now, at least until it's time for the remove
  gcc discussion.
 
  The future is !gcc. Putting Clang+LLVM into a position where it can
  be easily embraced by FreeBSD users will greatly benefit the FreeBSD
  project.
 
  Scott
 
  I do not object to a single point in your message. On the other hand, all
  said could be labeled as distilled propaganda.
 
  My main concern is the usefulness of HEAD for routine bug-fixing process.
 
  The proposed merge makes it relatively easy for users to start compiling
  the system with CLang. Our HEAD userbase is one of the most valuable
  project asset to ensure the quality of the system. After the support for
  easy compilation with clang is imported, some substantial portion of the
  HEAD users definitely start experimenting with it. This immediately makes
  the bug reports against HEAD almost useless, since level of demotivation
  when looking at the bug is immense. When you do know that the issue can
  be in the compiler, and not the OS, why looking ?
 
  Any bug analisys now shall start with exchange to verify which compiler
  was used to build the reporter system, and ask to reproduce it with gcc.
  [I am talking not only about gnats, but also mailing list questions,
  private pleas for help etc].
 
  My personal opinion is that pushing the import now at the present state
  of clang makes a disservice to FreeBSD, and possible clang. Why not keep
  the glue on the branch as it is ? Motivated testers willing to help
  definitely can checkout from the branch. Import can happen when we are
  satisfied with the quality of new compiler, instead of discontent about
  old one.

 FWIW, I entirely agree with Kostik here.
 I really would like to see CLANG more integrated with FreeBSD only
 when there are 0 or similar (well-known, already analyzed, listed
 somewhere, etc.) bugs by the compiler rather than still being in the
 middle of a bug storm. Besides, the 'debugging problem' is pretty much
 real and nobody answered with a reasonable solution for it, and being
 honest, I don't see the people pushing for the import concerned about
 that at all.

 Are all the bug reports collected somewhere? What's the state of their
 resolution? There is a description somewhere of missing support and
 things still to be 

Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Astrodog
If I understand the build process correctly, it should be possible to
have both compilers in base for some (presumably short) period of
time... then just have which one you use be a configuration option,
which should give LLVM/clang some additional exposure, without the
obvious risks of a complete switch. It should be relatively simply to
have clang as a compile time option in base then clang as default
with gcc as an option then clang only, as it proves itself out
building the tree.

 I don't really see how the ~50-100MB that only keeping one compiler
in base for a month or two (when there's not going to be a release
from HEAD anyway) would be worth it, when it's compared to the massive
cluster this is probably going to turn into, provided there's a
relatively easy way to opt out of either compiler.

As far as bug reports go, it's not as though this is some
unprecedented problem. In handling PRs, people are asked to rebuild
with patches, different settings, etc already. Its just one more thing
among a list of many to keep in mind when going through that process.
I don't think users of HEAD would find such a request unreasonable
(or, at least, any more unreasonable than what they already have to go
through sometimes.)

--- Harrison Grundy
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Roman Divacky
  there are no known clang bugs (at least known to me) related to FreeBSD
 
  in other words - at this point you can compile FreeBSD with clang (both
  in the version in clangbsd) and it works (for people who tested it)
  on amd64 and i386
 
 I don't mean about FreeBSD, but about CLANG itself.
 It would be very depressing to loose many hours on kernel races before
 to discover it was a compiler deficiency, for example.

thats what I mean - we are not aware of any bugs in clang itself that
harm FreeBSD (on i386/amd64). 

btw. there are 68 open bug reports against gcc 4.2.1 in gcc bugzilla.


pgpCXTd7oxwJa.pgp
Description: PGP signature


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Roman Divacky
  people are already experimenting with clang installed from ports,
  with gcc4.{3,4,5} from ports etc. by not importing clang we can
  maybe delay this a little but it's coming anyway.
 I am pretty much fine and happy with people experimenting with clang
 or any other compilers from ports, custom built, whatever. This is very
 different from importing some compiler into base. See below about signal.
 
what I wanted to say is that we can get problem reports from people using
other compilers than our stock gcc even today.

   Rather, I would consider the changes to ease the use of any external
   compiler, from ports or whatever, bent into shape and kept up to date
   with system progress very important, much less controversial and more
   useful. Then, addicts of any kool-aid-compiler can drink their potion
   without starting undesired relations. Unfortunately, this is not what
   happen.
  
  this is orthogonal to this. we as a project aim for delivering complete
  operating system and we just need a system compiler. gcc4.2.1 just
  cant serve us anymore, we need to do something now.
 Please describe why gcc in base cannot serve us anymore while served up
 to the minute I got your message.

that was summarized in a beautiful way by Scott Long :)


pgpH7p7tmULGb.pgp
Description: PGP signature


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Astrodog
On Mon, May 31, 2010 at 6:39 AM, Roman Divacky rdiva...@freebsd.org wrote:
  people are already experimenting with clang installed from ports,
  with gcc4.{3,4,5} from ports etc. by not importing clang we can
  maybe delay this a little but it's coming anyway.
 I am pretty much fine and happy with people experimenting with clang
 or any other compilers from ports, custom built, whatever. This is very
 different from importing some compiler into base. See below about signal.

 what I wanted to say is that we can get problem reports from people using
 other compilers than our stock gcc even today.

   Rather, I would consider the changes to ease the use of any external
   compiler, from ports or whatever, bent into shape and kept up to date
   with system progress very important, much less controversial and more
   useful. Then, addicts of any kool-aid-compiler can drink their potion
   without starting undesired relations. Unfortunately, this is not what
   happen.
 
  this is orthogonal to this. we as a project aim for delivering complete
  operating system and we just need a system compiler. gcc4.2.1 just
  cant serve us anymore, we need to do something now.
 Please describe why gcc in base cannot serve us anymore while served up
 to the minute I got your message.

 that was summarized in a beautiful way by Scott Long :)


I don't think this is really a question of Can gcc work in base right
now?. Everyone knows it can, because that's what's actually being
used at this very moment. At the same time, I don't think there's any
real argument in saying that eventually FreeBSD will have to switch to
either a new compiler, or a new version of gcc, with the GPLv3
nightmare that could entail (Maybe that's a few years from now, I have
no idea, but it's still going to need to happen, and its not as though
switching will get easier with time.) From my perspective, there seem
to be two real questions:

First, are the two compilers mutually exclusive? (I don't believe they are.)
Second, is there a particular reason not to do this now, that will not
exist later? (I'm not that current on what's going on.. but from what
I can tell, my thought here is no, too.)

It's not as though this is irreversible. It's always possible to make
the change, realize clang won't cut it just yet, and switch back a few
hours/days/weeks/whatever later. Or, like I said earlier, if it's
possible, run both.

--- Harrison
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Kostik Belousov
On Mon, May 31, 2010 at 06:55:17AM -0500, Astrodog wrote:
 On Mon, May 31, 2010 at 6:39 AM, Roman Divacky rdiva...@freebsd.org wrote:
   people are already experimenting with clang installed from ports,
   with gcc4.{3,4,5} from ports etc. by not importing clang we can
   maybe delay this a little but it's coming anyway.
  I am pretty much fine and happy with people experimenting with clang
  or any other compilers from ports, custom built, whatever. This is very
  different from importing some compiler into base. See below about signal.
 
  what I wanted to say is that we can get problem reports from people using
  other compilers than our stock gcc even today.
 
Rather, I would consider the changes to ease the use of any external
compiler, from ports or whatever, bent into shape and kept up to date
with system progress very important, much less controversial and more
useful. Then, addicts of any kool-aid-compiler can drink their potion
without starting undesired relations. Unfortunately, this is not what
happen.
  
   this is orthogonal to this. we as a project aim for delivering complete
   operating system and we just need a system compiler. gcc4.2.1 just
   cant serve us anymore, we need to do something now.
  Please describe why gcc in base cannot serve us anymore while served up
  to the minute I got your message.
 
  that was summarized in a beautiful way by Scott Long :)
 
 
 I don't think this is really a question of Can gcc work in base right
 now?. Everyone knows it can, because that's what's actually being
 used at this very moment. At the same time, I don't think there's any
 real argument in saying that eventually FreeBSD will have to switch to
 either a new compiler, or a new version of gcc, with the GPLv3
 nightmare that could entail (Maybe that's a few years from now, I have
 no idea, but it's still going to need to happen, and its not as though
 switching will get easier with time.) From my perspective, there seem
 to be two real questions:
 
 First, are the two compilers mutually exclusive? (I don't believe they are.)
 Second, is there a particular reason not to do this now, that will not
 exist later? (I'm not that current on what's going on.. but from what
 I can tell, my thought here is no, too.)
 
 It's not as though this is irreversible. It's always possible to make
 the change, realize clang won't cut it just yet, and switch back a few
 hours/days/weeks/whatever later. Or, like I said earlier, if it's
 possible, run both.

See, there is no objection to the idea that clang can and may eventually
displace gcc in the base. This is not the subject of the thread.

The question is whether it is beneficial for FreeBSD to import
infrastructure to ease the clang-in-base spins up to the point where
user can set one variable before the build, right now.

From what it was claimed, even without the import, users can install
whatever compiler from ports, set CC and start the build. Essentially,
the import blesses the clang and its current state as ready for wide use.


pgptyaKjynMra.pgp
Description: PGP signature


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Bruce Cran
On Mon, 31 May 2010 06:11:32 -0500
Astrodog astro...@gmail.com wrote:

 If I understand the build process correctly, it should be possible to
 have both compilers in base for some (presumably short) period of
 time... then just have which one you use be a configuration option,
 which should give LLVM/clang some additional exposure, without the
 obvious risks of a complete switch. It should be relatively simply to
 have clang as a compile time option in base then clang as default
 with gcc as an option then clang only, as it proves itself out
 building the tree.

From previous messages I don't think sparc64 is currently supported by
clang very well, if at all, so I think we'll still need gcc in the base
system for some time.

-- 
Bruce Cran
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Daniel Nebdal
On Mon, May 31, 2010 at 2:04 PM, Kostik Belousov kostik...@gmail.com wrote:
(...)
 From what it was claimed, even without the import, users can install
 whatever compiler from ports, set CC and start the build. Essentially,
 the import blesses the clang and its current state as ready for wide use.


Not necessarily. If it is
- disabled by default
- not recommended anywhere
- recommended against for production usage (I suspect it will carry
the usual might set your dog on fire - disclaimer for a while)

that's hardly a glowing recommendation.  I'm not sure if it's the best
comparison, but it reminds me of how SCHED_ULE was available but
mostly ignored until it was made default.

-- 
Daniel Nebdal
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Ashley Penney
On Mon, May 31, 2010 at 8:04 AM, Kostik Belousov kostik...@gmail.comwrote:


 See, there is no objection to the idea that clang can and may eventually
 displace gcc in the base. This is not the subject of the thread.

 The question is whether it is beneficial for FreeBSD to import
 infrastructure to ease the clang-in-base spins up to the point where
 user can set one variable before the build, right now.

 From what it was claimed, even without the import, users can install
 whatever compiler from ports, set CC and start the build. Essentially,
 the import blesses the clang and its current state as ready for wide use.


This import simply makes it possible to start testing clang in a more
widespread
fashion.  It doesn't bless anything or make any kind of claim to the
suitability of
clang for production.  I for one am excited about this import and think that
this
kind of bold step is an enormous victory for FreeBSD.  Clang is clearly the
future
of compiler technology and the earlier we get on board the more involvement
we
will have with the Clang team and everyone will reap the benefits.

So, while I'm just a user this absolutely gets my vote and I look forward to
it.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Yoics! Just upgraded and cc is (mostly) bus-error-ing on buildworld.

2010-05-31 Thread Andriy Gapon
on 29/05/2010 10:47 Andrew Reilly said the following:
 Just to prefix with my config: FreeBSD duncan.reilly.home 9.0-CURRENT FreeBSD
 9.0-CURRENT #7: Sat May 29 11:20:54 EST 2010
 r...@duncan.reilly.home:/nb/obj/nb/src/sys/DUNCAN  amd64 Current source tree
 was csupped about half an hour ago.
 
 I don't think that my hardware has gone dodgy: everything else seems to be
 working properly. cc itself seems to work OK when compiling my own code, too.
 But make buildworld --
 
 /nb/src/cddl/usr.bin/sgsmsg/../../../sys/cddl/contrib/opensolaris/common/avl/avl.c:128:
 internal compiler error: Bus error: 10 Please submit a full bug report, with
 preprocessed source if appropriate. See URL:http://gcc.gnu.org/bugs.html for
 instructions. *** Error code 1
 
 Stop in /nb/src/cddl/usr.bin/sgsmsg.
 
 Also, if I run buildworld with -j4 (my usual config), then a different compile
 crashes the same way :
 
 /nb/src/cddl/usr.bin/sgsmsg/../../../cddl/contrib/opensolaris/cmd/sgs/tools/common/string_table.c:467:
 internal compiler error: Bus error: 10
 
 but in that case it was not the first compile which broke, and several
 (parallel, I assume) broke at the same time.
 
 So: is anyone else seeing this?
 
 Is it likely that heisenbugs have found their way into the compiler in the 
 last
 week, or perhaps in the kernel's page table handling code?
 

Have you been playing with clang or other alternative compilers?
If not, then I think that it's your hardware.

-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Robert Watson


On Mon, 31 May 2010, Scott Long wrote:


On May 31, 2010, at 3:56 AM, Kostik Belousov wrote:


My personal opinion is that pushing the import now at the present state of 
clang makes a disservice to FreeBSD, and possible clang. Why not keep the 
glue on the branch as it is ? Motivated testers willing to help definitely 
can checkout from the branch. Import can happen when we are satisfied with 
the quality of new compiler, instead of discontent about old one.


Who is we, and what is their criteria?  Are you speaking for the entire 
FreeBSD project?


I think Kostik's question here is legitimate: clang maturity changes over 
time.  The earlier we adopt it, the sooner we get the advantages of clang -- 
but we also end up being the people who fault in more of the hard-to-diagnose 
compiler bugs.  Since Kostik fields many of our complex file system/VM/etc 
bugs, which are themselves often symptoms of hardware problems rather than 
software bugs (a similar class of issue), and is on the release engineering 
team, I think he speaks with some authority on the matter.


I happen to (currently) disagree with him on whether clang is ready for us to 
drop in the base system, as I feel providing early access to it (but not 
enabling it as the bootstrap by default) will be of significant benefit, but 
don't think that delegitimizes the concern he raises.  You can burn a lot of 
hours chasing software bugs only to eventually (or never) figure out they are 
compiler bugs.


This is the trade-off, but as you point out in your e-mail, there is also a 
larger non-technical context.  By throwing our weight behind clang, we benefit 
in numerous and often non-technical ways: we lend the clang folks an engaged 
and technically astute user community who can help them mature their software, 
as well as give them a user they community they can point at as part of 
establishing their own legitimacy.  That engagement in turn means they will be 
more responsive to our needs, and it's clear we're at a swing of the 
compiler/systems pendulum where we can benefit from the improved compiler 
technology we get through using clang.


I also have to say that I've found the clang folks extremely responsive to 
date -- the one compiler bug I ran into doing the GCD port to FreeBSD was 
fielded in about 60 minutes, from my report to a fix in their tree.  Very 
impressive.  Of course, I also burned 4-6 hours realizing it was a compiler 
bug before we got to that point, which is, of course, precisely the issue 
Kostik is pushing on.  But I think, at this moment, it's a risk we need to 
take, manage it well, and benefit from the results.


Robert
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Steve Kargl
On Mon, May 31, 2010 at 02:49:35AM -0500, Brandon Gooch wrote:
 
 I'm running on a full ClangBSD system (world and kernel), and I've
 had no issues for the past couple of days. I've had the machine
 working nearly constantly -- building new and updating installed
 ports, running several ezjails (PostgreSQL, Apache 2.2, etc...), and
 generally using/abusing my computer by watching Flash video on the
 bsdconferences channel on YouTube...
 
 So, what exactly should we expect, if anything, to break? :)

Did you build and install new boot code?  ISTR that clang 
can't compile src/sys/boot/i386/boot0 to the required 
512 bytes.

-- 
Steve
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Chris Ruiz
On Mon, May 31, 2010 at 3:59 AM, Ollivier Robert
robe...@keltia.freenix.fr wrote:
 According to Roman Divacky:
 So please share your support or resistance to the idea of importing clang.

 Full support from me (but that will not be a surprise ;-))

 --
 Ollivier ROBERT -=- FreeBSD: The Power to Serve! -=- robe...@keltia.freenix.fr
 In memoriam to Ondine : http://ondine.keltia.net/

I will immediately begin testing clang as soon as it is imported in HEAD.

Thanks for everyone's hard work,

-- Chris Ruiz
-
http://twitter.com/chrisattack
http://chrisattack.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Steve Kargl
On Mon, May 31, 2010 at 09:52:48AM +0200, Roman Divacky wrote:
 Hi,
 
 I would like to propose to integrate clang/LLVM into FreeBSD HEAD
 in the near future (days, not weeks).
 
 clang/LLVM is a C/C++/ObjC compiler (framework) which aims to possibly
 replace gcc. It is BSDL-like licensed. The sources are ~45MB (the
 svn checkout is 97MB). Clang/LLVM is written in C++.
 
 Clang can compile all of FreeBSD on i386/amd64 including world and booting
 kernel. Other architectures that are close to working are MIPS, PowerPC
 and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
 sources and the build infrastructure and this is what we aim to integrate
 at first.
   
 The import of clang/LLVM was discussed at the toolchain summit May 10th
 but I would like to hear your opinion. I got approval from core@ on
 importing it.
 

Can clang/LLVM build the livefs and bootonly CD's?

-- 
Steve
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Daniel Eischen

On Mon, 31 May 2010, Robert Watson wrote:


I think Kostik's question here is legitimate: clang maturity changes over 
time.  The earlier we adopt it, the sooner we get the advantages of clang -- 
but we also end up being the people who fault in more of the hard-to-diagnose 
compiler bugs.  Since Kostik fields many of our complex file system/VM/etc 
bugs, which are themselves often symptoms of hardware problems rather than 
software bugs (a similar class of issue), and is on the release engineering 
team, I think he speaks with some authority on the matter.


I happen to (currently) disagree with him on whether clang is ready for us to 
drop in the base system, as I feel providing early access to it (but not 
enabling it as the bootstrap by default) will be of significant benefit, but 
don't think that delegitimizes the concern he raises.  You can burn a lot of 
hours chasing software bugs only to eventually (or never) figure out they are 
compiler bugs.


This is the trade-off, but as you point out in your e-mail, there is also a 
larger non-technical context.  By throwing our weight behind clang, we 
benefit in numerous and often non-technical ways: we lend the clang folks an 
engaged and technically astute user community who can help them mature their 
software, as well as give them a user they community they can point at as 
part of establishing their own legitimacy.  That engagement in turn means 
they will be more responsive to our needs, and it's clear we're at a swing of 
the compiler/systems pendulum where we can benefit from the improved compiler 
technology we get through using clang.


I would like to see this decision made without political bias.

Is clangBSD able to support all our architectures?  Does it
cross build for powerpc, mips, etc?  Has it made a ports run
and does it successfully build and run most of our ports on
Tier-1 archs, and does it compare similarly with gcc for ports
on other archs?

If it is clearly in a state to entirely replace gcc, then
I say import it.  But if it is not yet there, and won't be
for some time, then I would say leave it out for the time
and import it when it can.

--
DE
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Dimitry Andric
On 2010-05-31 16:49, Steve Kargl wrote:
 So, what exactly should we expect, if anything, to break? :)
 
 Did you build and install new boot code?  ISTR that clang 
 can't compile src/sys/boot/i386/boot0 to the required 
 512 bytes.

No, boot0 is written in assembly, and run through the regular (GNU)
assembler.  Neither gcc nor clang do anything more except calling the
linker.

The only component (in the whole clangbsd src tree) which still needs to
be compiled with gcc is boot2, which otherwise ends up just a little too
big, and doesn't fit.  This is being worked on, but it isn't very
critical, really.  Note that clangbsd automatically uses gcc for this
specific code, unless you override it manually.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Steve Kargl
On Mon, May 31, 2010 at 05:07:44PM +0200, Dimitry Andric wrote:
 On 2010-05-31 16:49, Steve Kargl wrote:
  So, what exactly should we expect, if anything, to break? :)
  
  Did you build and install new boot code?  ISTR that clang 
  can't compile src/sys/boot/i386/boot0 to the required 
  512 bytes.
 
 No, boot0 is written in assembly, and run through the regular (GNU)
 assembler.  Neither gcc nor clang do anything more except calling the
 linker.
 
 The only component (in the whole clangbsd src tree) which still needs to
 be compiled with gcc is boot2, which otherwise ends up just a little too
 big, and doesn't fit.  This is being worked on, but it isn't very
 critical, really.  Note that clangbsd automatically uses gcc for this
 specific code, unless you override it manually.

Doesn't this imply that clang/llvm isn't quite ready for deployment.
Being able to boot a complete clang/llvm compiled FreeBSD system
would seem to be critical.

When you say This is being worked on, do you mean clang/llvm is being
changed to compile boot2 or do you mean boot2 is being changed to
allow clang/lvvm to compile it?
 
-- 
Steve
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Roman Divacky
On Mon, May 31, 2010 at 07:57:49AM -0700, Steve Kargl wrote:
 On Mon, May 31, 2010 at 09:52:48AM +0200, Roman Divacky wrote:
  Hi,
  
  I would like to propose to integrate clang/LLVM into FreeBSD HEAD
  in the near future (days, not weeks).
  
  clang/LLVM is a C/C++/ObjC compiler (framework) which aims to possibly
  replace gcc. It is BSDL-like licensed. The sources are ~45MB (the
  svn checkout is 97MB). Clang/LLVM is written in C++.
  
  Clang can compile all of FreeBSD on i386/amd64 including world and booting
  kernel. Other architectures that are close to working are MIPS, PowerPC
  and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
  sources and the build infrastructure and this is what we aim to integrate
  at first.

  The import of clang/LLVM was discussed at the toolchain summit May 10th
  but I would like to hear your opinion. I got approval from core@ on
  importing it.
  
 
 Can clang/LLVM build the livefs and bootonly CD's?

well.. it can build a slightly modified FreeBSD. I have no idea whats
the difference between plain FreeBSD world and livefs and bootonly CD

the modifications to the FreeBSD are mostly bug fixes that clang reveals.


pgp8R2yNoCeKq.pgp
Description: PGP signature


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Dimitry Andric
On 2010-05-31 17:18, Steve Kargl wrote:
 Doesn't this imply that clang/llvm isn't quite ready for deployment.
 Being able to boot a complete clang/llvm compiled FreeBSD system
 would seem to be critical.

You can boot it just fine, only the boot2 part is compiled with gcc, for
now.  Clang can successfully compile boot2; the issue is that its
'optimize for size' option is not as good as gcc at the moment.  At the
same time, boot2 is so tight on space, that it misses out by just a few
100 bytes.


 When you say This is being worked on, do you mean clang/llvm is being
 changed to compile boot2 or do you mean boot2 is being changed to
 allow clang/lvvm to compile it?

Clang/llvm is being fixed to produce small enough code to fit into the
size limit that boot2 has (7 kiB IIRC); no ETA yet.  The boot2 code
itself should not have to be modified at all (although there might be
ways to shrink that code too).
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Mike Jakubik

On 5/31/2010 3:52 AM, Roman Divacky wrote:

Clang can compile all of FreeBSD on i386/amd64 including world and booting
kernel. Other architectures that are close to working are MIPS, PowerPC
and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
sources and the build infrastructure and this is what we aim to integrate
at first.
   


What about the thousands of ports? Also, have there been any tests done 
to compare the performance of the compiled binaries vs gcc?


Thanks.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Eitan Adler
 Doesn't this imply that clang/llvm isn't quite ready for deployment.
 Being able to boot a complete clang/llvm compiled FreeBSD system
 would seem to be critical.

This is why clang would be turned off by default. This import is just
making it easier to test the clangbsd branch. I'm all for this change
(and when it happens I'll start testing clangbsd).

-- 
Eitan Adler
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Matthew Seaman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 31/05/2010 16:03:07, Daniel Eischen wrote:
 Is clangBSD able to support all our architectures?  Does it
 cross build for powerpc, mips, etc?  Has it made a ports run
 and does it successfully build and run most of our ports on
 Tier-1 archs, and does it compare similarly with gcc for ports
 on other archs?

Mostly agree, but waiting until clang can compile most of the ports is
going to be a really long wait.  Lots of projects out there won't want
to support anything other than gcc for the forseable future. Presumably
the import of clang to the base does not mean the immediate removal of
gcc.  Is it really such a bad thing to have gcc as a build-dependency
for various ported applications?

Cheers,

Matthew

- -- 
Dr Matthew J Seaman MA, D.Phil.   7 Priory Courtyard
  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
JID: matt...@infracaninophile.co.uk   Kent, CT11 9PW
-BEGIN PGP SIGNATURE-
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkwD3UsACgkQ8Mjk52CukIwCiACdGEn8qPpCoCnGN2u+E3S96BnQ
mHAAnAy74w651EtuHf7bkWtjd9WSR/Ny
=5QiA
-END PGP SIGNATURE-
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Bakul Shah
On Mon, 31 May 2010 09:52:48 +0200 Roman Divacky rdiva...@freebsd.org  wrote:
 
 I would like to propose to integrate clang/LLVM into FreeBSD HEAD
 in the near future (days, not weeks).
 
 clang/LLVM is a C/C++/ObjC compiler (framework) which aims to possibly
 replace gcc. It is BSDL-like licensed. The sources are ~45MB (the
 svn checkout is 97MB). Clang/LLVM is written in C++.
 
 Clang can compile all of FreeBSD on i386/amd64 including world and booting
 kernel. Other architectures that are close to working are MIPS, PowerPC
 and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
 sources and the build infrastructure and this is what we aim to integrate
 at first.

 The import of clang/LLVM was discussed at the toolchain summit May 10th
 but I would like to hear your opinion. I got approval from core@ on
 importing it.
 
 So please share your support or resistance to the idea of importing clang.
 
 Roman Divacky

I already use clang for some things but I think the issue
here is not support/resistance but something else:

* IMHO for a change of this nature the core needs to publish
  a set of clear acceptance criteria for importing clang.
  Can this be done?

* Since clang doesn't support all the archs, what is the plan
  for unsupported archs?
  a. Is FreeBSD going to have both compilers in the base?
  b. Is the project drop these FreeBSD ports? or
  c. Do people have to import gcc from ports to build these
 FreeBSD ports?

* What about ports?

* Basically the core needs to lay out a roadmap.

It is clear that not everyone has the same view of what the
acceptance criteria might be so publishing it would help
people understand what to expect.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Roman Divacky
On Mon, May 31, 2010 at 09:14:09AM -0700, Bakul Shah wrote:
 On Mon, 31 May 2010 09:52:48 +0200 Roman Divacky rdiva...@freebsd.org  
 wrote:
  
  I would like to propose to integrate clang/LLVM into FreeBSD HEAD
  in the near future (days, not weeks).
  
  clang/LLVM is a C/C++/ObjC compiler (framework) which aims to possibly
  replace gcc. It is BSDL-like licensed. The sources are ~45MB (the
  svn checkout is 97MB). Clang/LLVM is written in C++.
  
  Clang can compile all of FreeBSD on i386/amd64 including world and booting
  kernel. Other architectures that are close to working are MIPS, PowerPC
  and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
  sources and the build infrastructure and this is what we aim to integrate
  at first.
 
  The import of clang/LLVM was discussed at the toolchain summit May 10th
  but I would like to hear your opinion. I got approval from core@ on
  importing it.
  
  So please share your support or resistance to the idea of importing clang.
  
  Roman Divacky
 
 I already use clang for some things but I think the issue
 here is not support/resistance but something else:
 
 * IMHO for a change of this nature the core needs to publish
   a set of clear acceptance criteria for importing clang.
   Can this be done?
 
I asked core@ and they support the import

 * Since clang doesn't support all the archs, what is the plan
   for unsupported archs?
   a. Is FreeBSD going to have both compilers in the base?

yes, this is what this import is about - importing clang, 
nothing else changes

   b. Is the project drop these FreeBSD ports? or

no, of course not

   c. Do people have to import gcc from ports to build these
  FreeBSD ports?
 
nothing is being changed, just one more application after
a buildworld/installworld appears (that being clang)

 * What about ports?
 
 * Basically the core needs to lay out a roadmap.
 
 It is clear that not everyone has the same view of what the
 acceptance criteria might be so publishing it would help
 people understand what to expect.

nothing changes for the ports, there's an ongoing project to enable
ports to be usable with clang (or some other compiler) but thats
orthogonal to this.


pgp3eugjwYjdB.pgp
Description: PGP signature


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Andrius Morkūnas

On Mon, 31 May 2010 18:53:18 +0300, Mike Jakubik 
mike.jaku...@intertainservices.com wrote:

What about the thousands of ports? Also, have there been any tests done
to compare the performance of the compiled binaries vs gcc?


This import is in no way directly related to ports. Somehow people
have this weird idea that clang is replacing gcc, it isn't.
For now ports will be compiled with gcc just like they were before.
There are people working on getting ports to compile with clang,
but that's a different project[1][2], and in my opinion, is somewhat
offtopic for the current discussion.

As for performance, I'm not sure. I wouldn't expect clang compiled
binaries to be significantly faster/slower than gcc ones.

[1] http://wiki.freebsd.org/PortsAndClang
[2] http://wiki.freebsd.org/SOC2010AndriusMorkunas

--
Andrius
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Brandon Gooch
On Mon, May 31, 2010 at 9:49 AM, Steve Kargl
s...@troutmask.apl.washington.edu wrote:
 On Mon, May 31, 2010 at 02:49:35AM -0500, Brandon Gooch wrote:

 I'm running on a full ClangBSD system (world and kernel), and I've
 had no issues for the past couple of days. I've had the machine
 working nearly constantly -- building new and updating installed
 ports, running several ezjails (PostgreSQL, Apache 2.2, etc...), and
 generally using/abusing my computer by watching Flash video on the
 bsdconferences channel on YouTube...

 So, what exactly should we expect, if anything, to break? :)

 Did you build and install new boot code?  ISTR that clang
 can't compile src/sys/boot/i386/boot0 to the required
 512 bytes.

No, I didn't install new boot code. Whether or not it was built, I'll
check and see; I'm not sure exactly when/where it's built -- during
buildkernel?

This is an example of the reason I put the quotes around full -- I'm
not sure exactly how completely ClangBSD my system really is :)

-Brandon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Freddie Cash
On Mon, May 31, 2010 at 8:53 AM, Mike Jakubik 
mike.jaku...@intertainservices.com wrote:

 On 5/31/2010 3:52 AM, Roman Divacky wrote:

 Clang can compile all of FreeBSD on i386/amd64 including world and booting
 kernel. Other architectures that are close to working are MIPS, PowerPC
 and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
 sources and the build infrastructure and this is what we aim to integrate
 at first.


 What about the thousands of ports? Also, have there been any tests done to
 compare the performance of the compiled binaries vs gcc?


What about the ports?  Lots of ports already have dependencies on GCC from
ports as they don't build/run properly with GCC 4.2.1.  How is this any
different?

There have been reports on other lists from people using Clang to build
their ports, with very few failures.  It's a simple matter to add a
dependency on GCC from ports for those that do fail.  Which is already being
done for ports that don't work with GCC 4.2.1.

Several -exp runs have already been done on the ports tree using Clang.

No idea about benchmarks.

-- 
Freddie Cash
fjwc...@gmail.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Alexandre Sunny Kovalenko
On Mon, 2010-05-31 at 02:49 -0500, Brandon Gooch wrote:
 On Sat, May 29, 2010 at 8:02 AM, Roman Divacky rdiva...@freebsd.org wrote:
  hi,
 
  ClangBSD was updated to LLVM/clang revision 104832 which is what we aim to 
  import
  into HEAD in roughly a week. We would like the initial import to be as 
  painless
  as possible and therefore we ask you to test ClangBSD to assure that the 
  revision
  we are importing does not have some really embarassing bugs.
 
  How to do it (on i386 and amd64):
 
  0) install fresh devel/llvm-devel port
 
  1) svn co http://svn.freebsd.org/base/projects/clangbsd src
 
  2) echo NO_WERROR=  /etc/src.conf ; echo WERROR=  /etc/src.conf
 
  3) cd src  make buildworld
 
  4) make installworld DESTDIR=/usr/clangbsd
 
  5) (optional) try to build kernel with clang and boot it
 
 5.1) cd /sys/{arch}/conf
 5.2) config YOUR_KERNEL
 5.3) setenv CC clang in tcsh or export CC=clang in bash
 5.4) cd ../compile/YOUR_KERNEL
 5.5) make  make install
 
  please make sure that it builds (on amd64/i386) and that the resulting world
  is runnable. ie. try to chroot into it and do stuff. ie.
 
 chroot /clangbsd /bin/tcsh
 
 ... stuff ...
 
 
  there's a wiki page on this effort: 
  http://wiki.freebsd.org/BuildingFreeBSDWithClang
 
  please report back any problems/success to me and/or this mailing list.
 
  thank you for your testing!
 
  Roman Divacky on behalf of the ClangBSD team
 
 
 I'm running on a full ClangBSD system (world and kernel), and I've
 had no issues for the past couple of days. I've had the machine
 working nearly constantly -- building new and updating installed
 ports, running several ezjails (PostgreSQL, Apache 2.2, etc...), and
 generally using/abusing my computer by watching Flash video on the
 bsdconferences channel on YouTube...

What is the good way to do installworld from CURRENT-snapshot to
ClangBSD? Half way through some shared object (run-time loader?) gets
overwritten and it is all signal 11 from there on.

Thank you in advance.

-- 
Alexandre Kovalenko (Олександр Коваленко)



--
Ovi Mail: Available in 20 languages
http://mail.ovi.com

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Dimitry Andric
On 2010-05-31 19:44, Alexandre Sunny Kovalenko wrote:
 What is the good way to do installworld from CURRENT-snapshot to
 ClangBSD? Half way through some shared object (run-time loader?) gets
 overwritten and it is all signal 11 from there on.

Hi Alexandre,

A fix for this has already been applied in head, but it was not yet
merged back to clangbsd.  That is going to happen soon.  In the
meantime, please:
- Use /rescue to rollback /libexec/ld-elf.so.1 (from the backup in
  /libexec/ld-elf.so.1.old)
- Apply the patch I have attached to your clangbsd source dir
- Rebuild libexec/rtld-elf in there

Then you should be able to do installworld without any problems.
Index: libexec/rtld-elf/arm/reloc.c
===
--- libexec/rtld-elf/arm/reloc.c(revision 208620)
+++ libexec/rtld-elf/arm/reloc.c(working copy)
@@ -245,7 +245,6 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
const Elf_Rel *rellim;
const Elf_Rel *rel;
SymCache *cache;
-   int bytes = obj-nchains * sizeof(SymCache);
int r = -1;

/* The relocation for the dynamic loader has already been done. */
@@ -255,10 +254,9 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
 * The dynamic loader may be called from a thread, we have
 * limited amounts of stack available so we cannot use alloca().
 */
-   cache = mmap(NULL, bytes, PROT_READ|PROT_WRITE, MAP_ANON, -1, 0);
-   if (cache == MAP_FAILED)
-   cache = NULL;
-   
+   cache = calloc(obj-nchains, sizeof(SymCache));
+   /* No need to check for NULL here */
+
rellim = (const Elf_Rel *)((caddr_t)obj-rel + obj-relsize);
for (rel = obj-rel; rel  rellim; rel++) {
if (reloc_nonplt_object(obj, rel, cache)  0)
@@ -266,9 +264,8 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
}
r = 0;
 done:
-   if (cache) {
-   munmap(cache, bytes);
-   }
+   if (cache != NULL)
+   free(cache);
return (r);
 }
 
Index: libexec/rtld-elf/powerpc/reloc.c
===
--- libexec/rtld-elf/powerpc/reloc.c(revision 208620)
+++ libexec/rtld-elf/powerpc/reloc.c(working copy)
@@ -287,7 +287,6 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
const Elf_Rela *relalim;
const Elf_Rela *rela;
SymCache *cache;
-   int bytes = obj-nchains * sizeof(SymCache);
int r = -1;
 
/*
@@ -295,10 +294,8 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
 * limited amounts of stack available so we cannot use alloca().
 */
if (obj != obj_rtld) {
-   cache = mmap(NULL, bytes, PROT_READ|PROT_WRITE, MAP_ANON,
-   -1, 0);
-   if (cache == MAP_FAILED)
-   cache = NULL;
+   cache = calloc(obj-nchains, sizeof(SymCache));
+   /* No need to check for NULL here */
} else
cache = NULL;
 
@@ -314,9 +311,8 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
}
r = 0;
 done:
-   if (cache) {
-   munmap(cache, bytes);
-   }
+   if (cache != NULL)
+   free(cache);
return (r);
 }
 
Index: libexec/rtld-elf/sparc64/reloc.c
===
--- libexec/rtld-elf/sparc64/reloc.c(revision 208620)
+++ libexec/rtld-elf/sparc64/reloc.c(working copy)
@@ -254,7 +254,6 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
const Elf_Rela *relalim;
const Elf_Rela *rela;
SymCache *cache;
-   int bytes = obj-nchains * sizeof(SymCache);
int r = -1;
 
/*
@@ -262,10 +261,8 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
 * limited amounts of stack available so we cannot use alloca().
 */
if (obj != obj_rtld) {
-   cache = mmap(NULL, bytes, PROT_READ|PROT_WRITE, MAP_ANON,
-   -1, 0);
-   if (cache == MAP_FAILED)
-   cache = NULL;
+   cache = calloc(obj-nchains, sizeof(SymCache));
+   /* No need to check for NULL here */
} else
cache = NULL;
 
@@ -276,8 +273,8 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld)
}
r = 0;
 done:
-   if (cache)
-   munmap(cache, bytes);
+   if (cache != NULL)
+   free(cache);
return (r);
 }
 
Index: libexec/rtld-elf/rtld.c
===
--- libexec/rtld-elf/rtld.c (revision 208620)
+++ libexec/rtld-elf/rtld.c (working copy)
@@ -3311,6 +3311,10 @@ allocate_module_tls(int index)
 }
 
 p = malloc(obj-tlssize);
+if (p == NULL) {
+   _rtld_error(Cannot allocate TLS block for index %d, index);
+   die();
+}
 

Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Brandon Gooch
On Mon, May 31, 2010 at 2:52 AM, Roman Divacky rdiva...@freebsd.org wrote:
 Hi,

 I would like to propose to integrate clang/LLVM into FreeBSD HEAD
 in the near future (days, not weeks).

 clang/LLVM is a C/C++/ObjC compiler (framework) which aims to possibly
 replace gcc. It is BSDL-like licensed. The sources are ~45MB (the
 svn checkout is 97MB). Clang/LLVM is written in C++.

 Clang can compile all of FreeBSD on i386/amd64 including world and booting
 kernel. Other architectures that are close to working are MIPS, PowerPC
 and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
 sources and the build infrastructure and this is what we aim to integrate
 at first.

 The import of clang/LLVM was discussed at the toolchain summit May 10th
 but I would like to hear your opinion. I got approval from core@ on
 importing it.

 So please share your support or resistance to the idea of importing clang.

 Roman Divacky


Another user YES vote here; I will begin using clang on all of my
FreeBSD HEAD machines after the import. Exciting!

-Brandon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread M. Warner Losh
In message: 20100531161713.ga60...@freebsd.org
Roman Divacky rdiva...@freebsd.org writes:
: On Mon, May 31, 2010 at 09:14:09AM -0700, Bakul Shah wrote:
:  On Mon, 31 May 2010 09:52:48 +0200 Roman Divacky rdiva...@freebsd.org  
wrote:
:   
:   I would like to propose to integrate clang/LLVM into FreeBSD HEAD
:   in the near future (days, not weeks).
:   
:   clang/LLVM is a C/C++/ObjC compiler (framework) which aims to possibly
:   replace gcc. It is BSDL-like licensed. The sources are ~45MB (the
:   svn checkout is 97MB). Clang/LLVM is written in C++.
:   
:   Clang can compile all of FreeBSD on i386/amd64 including world and booting
:   kernel. Other architectures that are close to working are MIPS, PowerPC
:   and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
:   sources and the build infrastructure and this is what we aim to integrate
:   at first.
:  
:   The import of clang/LLVM was discussed at the toolchain summit May 10th
:   but I would like to hear your opinion. I got approval from core@ on
:   importing it.
:   
:   So please share your support or resistance to the idea of importing clang.
:   
:   Roman Divacky
:  
:  I already use clang for some things but I think the issue
:  here is not support/resistance but something else:
:  
:  * IMHO for a change of this nature the core needs to publish
:a set of clear acceptance criteria for importing clang.
:Can this be done?
:  
: I asked core@ and they support the import

They support the import, in the context of the larger plan, which
you've not articulated.  Let's be clear here.

:  * Since clang doesn't support all the archs, what is the plan
:for unsupported archs?
:a. Is FreeBSD going to have both compilers in the base?
: 
: yes, this is what this import is about - importing clang, 
: nothing else changes

There's more context here too.  To improve the support of various
architectures, we're planning on doing two things.  First, we're
updating binutils to the latest gplv2 version.  This will solve many
problems.  There's some other plans in this area as well, but the
summary is basically integrating some important vendor patches.
Second, we're planning to have the ability to use an external, perhaps
vendor supplied, tool chain.  You can kludge this together today, but
it is tedious and difficult.

:b. Is the project drop these FreeBSD ports? or
: 
: no, of course not
: 
:c. Do people have to import gcc from ports to build these
:   FreeBSD ports?
:  
: nothing is being changed, just one more application after
: a buildworld/installworld appears (that being clang)
: 
:  * What about ports?

The plan that was articulated at the toolchain summit was to install
clang as clang, and gcc as cc, so that /usr/ports continue to work.
There's a lot of work needed to make all the ports work with clang.
There's a summer of code project to make it possible to select a
default compiler to built ports.

There's a missing piece of functionality that was agreed to in the
clang tree right now.  There needs to be support for
'WITH_CLANG_BOOTSTRAP' to build the system with the clang, but leave
gcc as the default compiler for ports.  There also needs to be support
for WITH_CLANG_IS_CC which would also make clang the default.

:  * Basically the core needs to lay out a roadmap.

There was supposed to be a summary of the roadmap posted, but that's
not yet happened...  Roman really should have waited to push ahead
until this was posted because it does answer the bigger picture
questions.

:  It is clear that not everyone has the same view of what the
:  acceptance criteria might be so publishing it would help
:  people understand what to expect.
: 
: nothing changes for the ports, there's an ongoing project to enable
: ports to be usable with clang (or some other compiler) but thats
: orthogonal to this.

Part of the problem with this thread is that the whole, agreed plan
wasn't laid out at the first part of it, so people are freaking out
about what the plans are for the future.  They were discussed and
first order agreement was reached at the tool chains summit.  But part
of the agreement was to post the whole agreement so people know and
understand the various trade offs.

I think that would go a long way towards answering the questions that
are being raised and to quell the visceral reaction that I've seen in
this thread

Warner
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Bakul Shah
On Mon, 31 May 2010 12:33:18 MDT M. Warner Losh i...@bsdimp.com  wrote:
 
 :  It is clear that not everyone has the same view of what the
 :  acceptance criteria might be so publishing it would help
 :  people understand what to expect.
 : 
 : nothing changes for the ports, there's an ongoing project to enable
 : ports to be usable with clang (or some other compiler) but thats
 : orthogonal to this.
 
 Part of the problem with this thread is that the whole, agreed plan
 wasn't laid out at the first part of it, so people are freaking out
 about what the plans are for the future.  They were discussed and
 first order agreement was reached at the tool chains summit.  But part
 of the agreement was to post the whole agreement so people know and
 understand the various trade offs.
 
 I think that would go a long way towards answering the questions that
 are being raised and to quell the visceral reaction that I've seen in
 this thread

Exactly!

I still urge core to lay out a clear plan. And don't forget
to indicate the acceptance criteria to be met for each step!
[Not to add bureaucracy but to ensure that nothing falls
through the cracks]

Can't speak for others but I am very appreciative of all the
work put in enthusiastically by Roman and others to get clang
into FreeBSD. Exciting to have a real alternative to gcc!
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Garrett Cooper
On Mon, May 31, 2010 at 9:17 AM, Roman Divacky rdiva...@freebsd.org wrote:
 On Mon, May 31, 2010 at 09:14:09AM -0700, Bakul Shah wrote:
 On Mon, 31 May 2010 09:52:48 +0200 Roman Divacky rdiva...@freebsd.org  
 wrote:
 
  I would like to propose to integrate clang/LLVM into FreeBSD HEAD
  in the near future (days, not weeks).
 
  clang/LLVM is a C/C++/ObjC compiler (framework) which aims to possibly
  replace gcc. It is BSDL-like licensed. The sources are ~45MB (the
  svn checkout is 97MB). Clang/LLVM is written in C++.
 
  Clang can compile all of FreeBSD on i386/amd64 including world and booting
  kernel. Other architectures that are close to working are MIPS, PowerPC
  and ARM. We have a branch (clangbsd-import) that just includes clang/LLVM
  sources and the build infrastructure and this is what we aim to integrate
  at first.
 
  The import of clang/LLVM was discussed at the toolchain summit May 10th
  but I would like to hear your opinion. I got approval from core@ on
  importing it.
 
  So please share your support or resistance to the idea of importing clang.
 
  Roman Divacky

 I already use clang for some things but I think the issue
 here is not support/resistance but something else:

 * IMHO for a change of this nature the core needs to publish
   a set of clear acceptance criteria for importing clang.
   Can this be done?

 I asked core@ and they support the import

 * Since clang doesn't support all the archs, what is the plan
   for unsupported archs?
   a. Is FreeBSD going to have both compilers in the base?

 yes, this is what this import is about - importing clang,
 nothing else changes

   b. Is the project drop these FreeBSD ports? or

 no, of course not

   c. Do people have to import gcc from ports to build these
      FreeBSD ports?

 nothing is being changed, just one more application after
 a buildworld/installworld appears (that being clang)

How much time (with -j1, approximately) does it take to build clang?
Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Garrett Cooper
On Mon, May 31, 2010 at 11:33 AM, M. Warner Losh i...@bsdimp.com wrote:
 In message: 20100531161713.ga60...@freebsd.org

[...]

 There's more context here too.  To improve the support of various
 architectures, we're planning on doing two things.  First, we're
 updating binutils to the latest gplv2 version.  This will solve many
 problems.  There's some other plans in this area as well, but the
 summary is basically integrating some important vendor patches.
 Second, we're planning to have the ability to use an external, perhaps
 vendor supplied, tool chain.  You can kludge this together today, but
 it is tedious and difficult.

This in and of itself is an interesting prospect. Why would happen if
one could drop in icc for instance :) (I realize that it's basically
gcc-compatible, but can this be done today without a lot of rework and
effort)?

 :    b. Is the project drop these FreeBSD ports? or
[...]

 Part of the problem with this thread is that the whole, agreed plan
 wasn't laid out at the first part of it, so people are freaking out
 about what the plans are for the future.  They were discussed and
 first order agreement was reached at the tool chains summit.  But part
 of the agreement was to post the whole agreement so people know and
 understand the various trade offs.

 I think that would go a long way towards answering the questions that
 are being raised and to quell the visceral reaction that I've seen in
 this thread

+1

Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Alexander Kabaev
On Mon, 31 May 2010 12:35:33 -0700
Garrett Cooper yanef...@gmail.com wrote:

 This in and of itself is an interesting prospect. Why would happen if
 one could drop in icc for instance :) (I realize that it's basically
 gcc-compatible, but can this be done today without a lot of rework and
 effort)?

It used to possible, but people who did the work to support ICC dropped
any support for their work the minute changes hit the tree and now it
is impossible to say how far exactly it has rotten.
-- 
Alexander Kabaev


signature.asc
Description: PGP signature


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Erik Cederstrand

Den 29/05/2010 kl. 15.02 skrev Roman Divacky:

 ClangBSD was updated to LLVM/clang revision 104832 which is what we aim to 
 import
 into HEAD in roughly a week. We would like the initial import to be as 
 painless
 as possible and therefore we ask you to test ClangBSD to assure that the 
 revision
 we are importing does not have some really embarassing bugs.

I've been running the stress2 test suite on ClangBSD (in a VirtualBox VM) for 
the last 48 hours with no crashes. I needed to pull in a couple of patches that 
have been committed to FreeBSD HEAD since the last merge with ClangBSD to avoid 
specific crashes, but now everything seems to work just fine.

I do have a problem with buildworld on an unmodified ClangBSD src/ tree within 
a ClangBSD VM. Clang barfs on the mmintrin.h headers when building it's own 
Lexer because it picks up the gcc version of the headers instead of the clang 
version. This has been fixed before in ClangBSD, but probably the logic to 
decide on which headers to use are insufficient.

Thanks,
Erik

Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Alexandre Sunny Kovalenko
On Mon, 2010-05-31 at 20:10 +0200, Dimitry Andric wrote:
 On 2010-05-31 19:44, Alexandre Sunny Kovalenko wrote:
  What is the good way to do installworld from CURRENT-snapshot to
  ClangBSD? Half way through some shared object (run-time loader?) gets
  overwritten and it is all signal 11 from there on.
 
 Hi Alexandre,
 
 A fix for this has already been applied in head, but it was not yet
 merged back to clangbsd.  That is going to happen soon.  In the
 meantime, please:
 - Use /rescue to rollback /libexec/ld-elf.so.1 (from the backup in
   /libexec/ld-elf.so.1.old)
 - Apply the patch I have attached to your clangbsd source dir
 - Rebuild libexec/rtld-elf in there
 
 Then you should be able to do installworld without any problems.
 ___
 freebsd-current@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-current
 To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

That worked perfectly, thank you!

If someone wants to host VirtualBox image of more-or-less fresh
(yesterday + patch from Dimitry) clang-built system (1.1GB), please,
contact me off the list.

-- 
Alexandre Kovalenko (Олександр Коваленко)



--
Ovi Mail: Create an account directly from your phone
http://mail.ovi.com

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Alexander Kabaev
On Mon, 31 May 2010 08:18:42 -0700
Steve Kargl s...@troutmask.apl.washington.edu wrote:

 On Mon, May 31, 2010 at 05:07:44PM +0200, Dimitry Andric wrote:
  On 2010-05-31 16:49, Steve Kargl wrote:
   So, what exactly should we expect, if anything, to break? :)
   
   Did you build and install new boot code?  ISTR that clang 
   can't compile src/sys/boot/i386/boot0 to the required 
   512 bytes.
  
  No, boot0 is written in assembly, and run through the regular (GNU)
  assembler.  Neither gcc nor clang do anything more except calling
  the linker.
  
  The only component (in the whole clangbsd src tree) which still
  needs to be compiled with gcc is boot2, which otherwise ends up
  just a little too big, and doesn't fit.  This is being worked on,
  but it isn't very critical, really.  Note that clangbsd
  automatically uses gcc for this specific code, unless you override
  it manually.
 
 Doesn't this imply that clang/llvm isn't quite ready for deployment.
 Being able to boot a complete clang/llvm compiled FreeBSD system
 would seem to be critical.
 
 When you say This is being worked on, do you mean clang/llvm is
 being changed to compile boot2 or do you mean boot2 is being changed
 to allow clang/lvvm to compile it?
  
FWIW, boot2 was a problem child for each and every GCC import on my
memory. Every single major GCC release has claimed better optimizations
and more compact generated code and yet they all inevitably generated
code which was appreciably bigger than code produced by previus GCC
version. This should not be used as an excuse to hold clang at bay,
provided base src still comes with working way for building the working
boot2 image (gcc).
 
-- 
Alexander Kabaev


signature.asc
Description: PGP signature


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread Mehmet Erol Sanliturk
On Mon, May 31, 2010 at 3:13 PM, Bakul Shah ba...@bitblocks.com wrote:

 On Mon, 31 May 2010 12:33:18 MDT M. Warner Losh i...@bsdimp.com  wrote:
 


...



 Can't speak for others but I am very appreciative of all the
 work put in enthusiastically by Roman and others to get clang
 into FreeBSD. Exciting to have a real alternative to gcc!




In software engineering , there is a concept : Formal Technical Reviews .

In my opinion , one of the best reviewers of a software is a compiler of its
language .
Having a second compiler in FreeBSD , will make it much better than the
present state .

My wish would be to pursue a language intersection of both CLang and GCC
compilers to be able to check their outputs .

If I could have sufficient power ( health , time , etc. ) , I even
want to try and make applicable one more compiler such as Portable C
Compiler ( which is available in ports ) .

Personally I am using two compilers ( Free Pascal and Delphi ) on a big
program , and I am obtaining very good results either as very useful
warnings or errors . In reality , to pursue such a multiple compiler usage
is really difficult , but end result is making efforts very fruitful .

I am using a similar technique for my Fortran programs . I can say that to
rely on a single compiler is not a very robust way of software development
after seeing quality of compiled programs : My policy is now Never use a
single compiler without assuring that it is generating correct code when
compared to other compilers even though the current compiler is tested on
its test base .  This is a result of so many combinations of  a language
usage that a test base can not cover but it may exist in a user program over
time .

This policy is developed by actual experiences .

From these view points , workers on Clang adoption are making really a big
contribution to the FreeBSD project and to its users .


Thank you very much .


Mehmet Erol Sanliturk
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Alexandre Sunny Kovalenko
On Sat, 2010-05-29 at 15:02 +0200, Roman Divacky wrote:
 hi,
 
 ClangBSD was updated to LLVM/clang revision 104832 which is what we aim to 
 import
 into HEAD in roughly a week. We would like the initial import to be as 
 painless
 as possible and therefore we ask you to test ClangBSD to assure that the 
 revision
 we are importing does not have some really embarassing bugs.
 
 How to do it (on i386 and amd64):
 
 0) install fresh devel/llvm-devel port
 
 1) svn co http://svn.freebsd.org/base/projects/clangbsd src
 
 2) echo NO_WERROR=  /etc/src.conf ; echo WERROR=  /etc/src.conf
 
 3) cd src  make buildworld
 
 4) make installworld DESTDIR=/usr/clangbsd
 
 5) (optional) try to build kernel with clang and boot it
 
   5.1) cd /sys/{arch}/conf
   5.2) config YOUR_KERNEL
   5.3) setenv CC clang in tcsh or export CC=clang in bash
   5.4) cd ../compile/YOUR_KERNEL
   5.5) make  make install
 
 please make sure that it builds (on amd64/i386) and that the resulting world
 is runnable. ie. try to chroot into it and do stuff. ie.
 
   chroot /clangbsd /bin/tcsh
 
   ... stuff ...
 
 
 there's a wiki page on this effort: 
 http://wiki.freebsd.org/BuildingFreeBSDWithClang
 
 please report back any problems/success to me and/or this mailing list. 
 
 thank you for your testing!
 
 Roman Divacky on behalf of the ClangBSD team

Good people,

I have VirtualBox image of the ClangBSD (kernel + world i386) with the
clang installed, and Niclas generously offered to host it on his FTP
server. Image size (compressed) is slightly over 1GB.

Before we go through the hoops of moving image over, I am trying to see
whether there is sufficient interest in it. Would people, who are
interested, please, contact me off list -- if count tallies at about 10,
I will upload the image and Niclas will post URL here.

While I realize that moving target like ClangBSD, probably made this
image obsolete while I was building it, I think it will provide starting
point for those who want to test and/or experiment at the cost of
download.

Please, let me know.

-- 
Alexandre Kovalenko (Олександр Коваленко)



--
Ovi Mail: Easy setup in minutes
http://mail.ovi.com

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Garrett Cooper
On Mon, May 31, 2010 at 4:34 AM, Roman Divacky rdiva...@freebsd.org wrote:
  there are no known clang bugs (at least known to me) related to FreeBSD
 
  in other words - at this point you can compile FreeBSD with clang (both
  in the version in clangbsd) and it works (for people who tested it)
  on amd64 and i386

 I don't mean about FreeBSD, but about CLANG itself.
 It would be very depressing to loose many hours on kernel races before
 to discover it was a compiler deficiency, for example.

 thats what I mean - we are not aware of any bugs in clang itself that
 harm FreeBSD (on i386/amd64).

 btw. there are 68 open bug reports against gcc 4.2.1 in gcc bugzilla.

Working with known deficiencies in a given system is much easier to
deal with than unknown deficiencies in a new system. I think that's
the point that several folks are trying to address. Unless there is a)
sufficient testcases to exercise each piece of functionality, and/or
b) enough soak time, you're playing a bit of a dangerous game with the
unknown.

I personally would much rather have the glue in place to switch
between compilers and have things default to the base version of gcc
than just magically switch the compiler over to clang.

But I like my bikesheds painted gray.

Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Tim Kientzle

Matthew Seaman wrote:

Presumably the import of clang to the base does
not mean the immediate removal of gcc.


Of course not.

I'm not part of core and don't know what they
may have discussed, but I went through some hoops
to replace 'tar' and 'cpio' in the base system
and have some idea what approach we might take
with clang:

I would expect FreeBSD 9 to ship with both
compilers, with gcc as the default for 'cc'.
So users of 9-STABLE would see and use gcc
unless they specifically chose to use clang.

Even if we did decide to switch the default
for FreeBSD 10, it's possible we would continue
to install gcc as part of the base system
(just not as 'cc').

So realistically, some form of gcc will be built
and installed by default for a few more years.
Beyond that, it depends partly on how well clang
does and partly on how many problems we have with
an increasingly out-of-date gcc.

Cheers,

Tim
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


BSDCan Toolchain Summit Summary

2010-05-31 Thread Brooks Davis
Before the developers summit at BSDCan a small group of developers and 
industry partners held a summit on toolchain issues.  The agenda along 
with a number of slide sets appears on the wiki at:

http://wiki.freebsd.org/201005ToolchainSummit

The primary focus of the summit was our increasingly obsolete toolchain
and how to move forward in light of the fact that GPLv3 is unacceptable
to a significant portion of the FreeBSD community.  

Summaries of the sessions can be found at:

http://wiki.freebsd.org/201005ToolchainSummitSummary

This includes a rough draft of a roadmap.  We need to convert this into
a roadmap page with each required feature listed along with status and 
contacts.

I encourage people to comment on the proposed roadmap and contribute to
insuring the consensus matches the communities' needs as much as
possible.  With out question this endeavor is going to take effort on our
part and involves some risk but if everyone works on it I think we can
get through without too much pain.

-- Brooks


pgpUVvgwp9Gk5.pgp
Description: PGP signature


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Brooks Davis
On Mon, May 31, 2010 at 03:52:27PM -0700, Tim Kientzle wrote:
 Matthew Seaman wrote:
 Presumably the import of clang to the base does
 not mean the immediate removal of gcc.
 
 Of course not.
 
 I'm not part of core and don't know what they
 may have discussed, but I went through some hoops
 to replace 'tar' and 'cpio' in the base system
 and have some idea what approach we might take
 with clang:
 
 I would expect FreeBSD 9 to ship with both
 compilers, with gcc as the default for 'cc'.
 So users of 9-STABLE would see and use gcc
 unless they specifically chose to use clang.
 
 Even if we did decide to switch the default
 for FreeBSD 10, it's possible we would continue
 to install gcc as part of the base system
 (just not as 'cc').
 
 So realistically, some form of gcc will be built
 and installed by default for a few more years.
 Beyond that, it depends partly on how well clang
 does and partly on how many problems we have with
 an increasingly out-of-date gcc.

Exactly.  We will need to take some risks here, but nuking gcc from the
tree won't be one of them for a while.

I just sent a link to current and arch with links to the toolchain
summit wiki page and a summary of the results.  I encorage interested
parties to read what is there and provide constructive suggestions.

-- Brooks


pgpNPnYqRDglF.pgp
Description: PGP signature


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Freddie Cash
On Mon, May 31, 2010 at 3:44 PM, Garrett Cooper yanef...@gmail.com wrote:

 I personally would much rather have the glue in place to switch
 between compilers and have things default to the base version of gcc
 than just magically switch the compiler over to clang.


From all the threads I've read on this subject, that's exactly what is
planned:
  - import clang into the source tree
  - add knobs to select which compiler to use
  - leave GCC as the default compiler

IOW, unless you actually want to test clang and set the appropriate knobs,
then nothing will change for you.  Everything works as per normal.

I really don't see what the big deal is, or why everyone is getting their
knickers in a knot over this.

GCC isn't being removed from the tree.  GCC is staying the default compiler.
 The sky is not falling.

If you want to test clang, you can.  If you don't want to test clang, you
aren't forced to in any way, shape, or form.

It's really no different from the processes used when adding libthread
alongside libkse, or add sched_ule alongside sched_bsd.  The defaults didn't
change, both were available, and everyone carried on without issues while
those motivated to test the new bits did so. Eventually, enough bugs were
found and fixed, things stabilised, and the new bits became the default.

Similar process here.

I may be only a lowly user and occasional tested of new bits, but I really
don't understand the mountain people are making of this ant hill.
-- 
Freddie Cash
fjwc...@gmail.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread James R. Van Artsdalen
Scott Long wrote:
 Sounds like you're inviting the discussion right now. I'll start =-)

 1. I hate gcc with the burning heat of a million suns.  It's not a tool, it's 
 a political weapon wielded by the FSF and their acolytes.  It's also a crummy 
 piece of software that has been good enough for far too long.  Its 
 development model is a burden to work with and has been a major liability 
 towards FreeBSD releases in the past.  Its demise cannot happen soon enough.

Without that political weapon FreeBSD would not have the rich userland
it has today.  It may not be as important any more but it sure surely
was in the '80s into the early '90s.

As for the problems with gcc, you have to understand the history.  I was
the x86 maintainer for a few years, yet by the time of my involvement
around 1990 the basic architecture had already been set around the
MC68000 with the question being whether Alpha, MIPS or etc would be the
future - nobody expected x86 to be viable for much longer and the goal
was widely-retargetable at least until things settled out.  The x86
did not meet gcc's minimum processor requirements and required hacks to
work at all. Had it not been for RMS's insistence x86 might have been
deprecated.

The other key issue was how little manpower was available.  There was
only one person paid to do gcc work - if you call RMS's activist wages
paid - and the volunteers worked out of whatever spare time they had.  I
already had an 80 hour/week job *before* volunteering and I think that
was not unusual.  As a result design decisions were strongly tilted in
favor of maintainability over performance.  A lot of good code donations
were rejected because we simply could not afford to maintain it.  I
think I accepted only one significant code donation for x86 because of
that (the 387 reg-stack code).

If someone is willing to do a clean-sheet design around the realities
and manpower of 2010 instead of 1988 that's a good thing.

I do suggest modifying the FreeBSD build process so that uname -a shows
the compiler and its version for both the kernel and userland.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Lawrence Stewart

On 06/01/10 09:25, James R. Van Artsdalen wrote:
[snip interesting history]


I do suggest modifying the FreeBSD build process so that uname -a shows
the compiler and its version for both the kernel and userland.


Reading through this discussion, I wanted to draw attention to this 
footnote in James' email. It sounds like a sensible and useful 
suggestion that would go some way to addressing Kostik's concerns about 
knowing whether a kernel bug report was related to a gcc or clang built 
kernel.


Cheers,
Lawrence
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Doug Barton

On 05/31/10 17:46, Lawrence Stewart wrote:

On 06/01/10 09:25, James R. Van Artsdalen wrote:
[snip interesting history]


I do suggest modifying the FreeBSD build process so that uname -a shows
the compiler and its version for both the kernel and userland.


Reading through this discussion, I wanted to draw attention to this
footnote in James' email. It sounds like a sensible and useful
suggestion that would go some way to addressing Kostik's concerns about
knowing whether a kernel bug report was related to a gcc or clang built
kernel.


+1

--

... and that's just a little bit of history repeating.
-- Propellerheads

Improve the effectiveness of your Internet presence with
a domain name makeover!http://SupersetSolutions.com/

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Garrett Cooper
On Mon, May 31, 2010 at 7:51 PM, Doug Barton do...@freebsd.org wrote:
 On 05/31/10 17:46, Lawrence Stewart wrote:

 On 06/01/10 09:25, James R. Van Artsdalen wrote:
 [snip interesting history]

 I do suggest modifying the FreeBSD build process so that uname -a shows
 the compiler and its version for both the kernel and userland.

 Reading through this discussion, I wanted to draw attention to this
 footnote in James' email. It sounds like a sensible and useful
 suggestion that would go some way to addressing Kostik's concerns about
 knowing whether a kernel bug report was related to a gcc or clang built
 kernel.

 +1

I doubt there's anyone that would disagree with this. The only thing
that would be painful is if there were mixed compiles with
applications and triage, but if that was the case the user should
debug their own issue because they'd be mixing and matching toolchains
:/...
Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Yoics! Just upgraded and cc is (mostly) bus-error-ing on buildworld.

2010-05-31 Thread Andrew Reilly
On Mon, 31 May 2010 16:30:04 +0300
Andriy Gapon a...@icyb.net.ua wrote:

 Have you been playing with clang or other alternative compilers?

I have them all installed, but none are used by the build
process.  My make.conf is relatively clean.

 If not, then I think that it's your hardware.

I did too at first.  Compiler crashes are usually fix the
hardware problems.  I'm not so sure any more: I restored /boot
and /usr/{not local or home} from backup from about a week ago,
and using that compiler on the same hardware, I was able to get a
build and install to complete without problem. Heisenbug
somewhere, perhaps? The other hit against the hardware problem
suggestion is that the failure was in specific, repeatable places
in certain system source files.  I could compile a chunk of my
own code without problems, though.

I'm now on:
FreeBSD duncan.reilly.home 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Mon May 31 
02:39:59 EST 2010 r...@duncan.reilly.home:/nb/obj/nb/src/sys/DUNCAN  amd64

based on a csup from the australian mirror from yesterday morning
(or perhaps Sunday night), and it all seems to be back to normal.

Very odd.

Cheers,

-- 
Andrew
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Yoics! Just upgraded and cc is (mostly) bus-error-ing on buildworld.

2010-05-31 Thread Garrett Cooper
On Mon, May 31, 2010 at 9:06 PM, Andrew Reilly arei...@bigpond.net.au wrote:
 On Mon, 31 May 2010 16:30:04 +0300
 Andriy Gapon a...@icyb.net.ua wrote:

 Have you been playing with clang or other alternative compilers?

 I have them all installed, but none are used by the build
 process.  My make.conf is relatively clean.

What _is_ your make.conf though?

 If not, then I think that it's your hardware.

 I did too at first.  Compiler crashes are usually fix the
 hardware problems.  I'm not so sure any more: I restored /boot
 and /usr/{not local or home} from backup from about a week ago,
 and using that compiler on the same hardware, I was able to get a
 build and install to complete without problem. Heisenbug
 somewhere, perhaps? The other hit against the hardware problem
 suggestion is that the failure was in specific, repeatable places
 in certain system source files.  I could compile a chunk of my
 own code without problems, though.

 I'm now on:
 FreeBSD duncan.reilly.home 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Mon May 31 
 02:39:59 EST 2010     r...@duncan.reilly.home:/nb/obj/nb/src/sys/DUNCAN  amd64

 based on a csup from the australian mirror from yesterday morning
 (or perhaps Sunday night), and it all seems to be back to normal.

Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Yoics! Just upgraded and cc is (mostly) bus-error-ing on buildworld.

2010-05-31 Thread Andrew Reilly
On Mon, 31 May 2010 21:17:41 -0700
Garrett Cooper yanef...@gmail.com wrote:

 What _is_ your make.conf though?

Just this:

#CC=clang
CFLAGS+=-g
CXXFLAGS+=-g
KERNCONF=DUNCAN

NO_LPR=YES
NO_SENDMAIL=YES
WITH_GTK2=yes
WITH_CUPS=yes
WITH_GECKO=libxul
#WITH_DEBUG=yes
A4=yes
QT4_OPTIONS=CUPS NAS QGTKSTYLE

PORTSDIR=/nb/ports
PORTSSUPFILE=/root/ports-supfile
SUPFILE=/root/standard-supfile
SUPHOST=cvs.au.freebsd.org
SUP_UPDATE=yes
SUP=cvsup

# OOo needs a really large TMPDIR, use this for OOo:
TMPDIR=/nb/tmp/
# added by use.perl 2010-05-15 17:53:15
PERL_VERSION=5.10.1


my DUNCAN kern conf is just:

include GENERIC
ident   DUNCAN

It used to have more frobs in it than that!

Just in case it matters: the kernel/userland/cc that was giving
me grief had been built with a make.conf that said
NO_KERBEROS=yes, something I'd added to try to work around the
MD2_foo crypto linking problems.  I can't imagine why that would
be a problem, but I'm not risking it any more...

Cheers,

-- 
Andrew
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Yoics! Just upgraded and cc is (mostly) bus-error-ing on buildworld.

2010-05-31 Thread Garrett Cooper
On Mon, May 31, 2010 at 9:28 PM, Andrew Reilly arei...@bigpond.net.au wrote:
 On Mon, 31 May 2010 21:17:41 -0700
 Garrett Cooper yanef...@gmail.com wrote:

 What _is_ your make.conf though?

 Just this:

 #CC=clang
 CFLAGS+=-g
 CXXFLAGS+=-g
 KERNCONF=DUNCAN

 NO_LPR=YES
 NO_SENDMAIL=YES
 WITH_GTK2=yes
 WITH_CUPS=yes
 WITH_GECKO=libxul
 #WITH_DEBUG=yes
 A4=yes
 QT4_OPTIONS=CUPS NAS QGTKSTYLE

 PORTSDIR=/nb/ports
 PORTSSUPFILE=/root/ports-supfile
 SUPFILE=/root/standard-supfile
 SUPHOST=cvs.au.freebsd.org
 SUP_UPDATE=yes
 SUP=cvsup

 # OOo needs a really large TMPDIR, use this for OOo:
 TMPDIR=/nb/tmp/
 # added by use.perl 2010-05-15 17:53:15
 PERL_VERSION=5.10.1


 my DUNCAN kern conf is just:

 include         GENERIC
 ident           DUNCAN

 It used to have more frobs in it than that!

 Just in case it matters: the kernel/userland/cc that was giving
 me grief had been built with a make.conf that said
 NO_KERBEROS=yes, something I'd added to try to work around the
 MD2_foo crypto linking problems.  I can't imagine why that would
 be a problem, but I'm not risking it any more...

Ok... there appear to be some interesting bits here, but I'm
curious... when was the last time that you did a build with clang, and
did you properly clean out /usr/obj, etc since your last compile?
Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Andrew Reilly
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Mon, 31 May 2010 17:01:15 +0100
Matthew Seaman m.sea...@infracaninophile.co.uk wrote:

 Is it really such a bad thing to have gcc as a build-dependency
 for various ported applications?

There are already ports that have gcc-4.4.4 as a dependency, and
a few that still require gcc-3.4.6.

[on my system, that's :
ffmpeg-0.5.1_3,1
gegl-0.1.2_1
gimp-app-2.6.8_3,1
ufraw-0.16_3
x264-0.0.20100222_1
xsane-0.996_3
blas-1.0_4
lapack-3.2.1_1
py26-numpy-1.4.1,1
totem-2.30.1
vinagre-2.30.1
vino-2.28.2

and ...hmm... maybe I've already de-installed whatever was
depending on 3.4.6...]

Anyway, I don't see this trend slowing down any time soon, so I
don't think that being able to compile all of ports is a
reasonable constraint on bringing clang into the tree.

I've changed my mind about bringing things into the tree since my
last post on the subject.  Being in-tree helps a lot with the
ability to cross-build, which matters now that reasonably priced
beasty machines are so much faster than reasonably-priced
puny machines.  Also, I've learned to love tmux...
Also, the ability to have NO_LLVM in make.conf should (just like
the other, similar switches) answer the rebuild-time issue.

Just a few cents from the peanut gallery.

FWIW I'm in favour, but I do understand Kostik's concern.  I've
been bitten by my share of compiler bugs and hardware bugs.
Perhaps, even for a while after introduction, there should be a
rule like don't report a bug unless you've reproduced
it on a system built with cc(=gcc), just to keep those two issues
separate.  Perhaps with a side order of: any bug that you find in
a clang-compiled system that goes away when re-built with gcc
should be reported to the clang folk...

Cheers,

- -- 
Andrew
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.14 (FreeBSD)

iEYEARECAAYFAkwEklYACgkQgzZZe5eEKMIf4ACffE00q3RsyElRE64q3tOFovI8
Dh0An2tQLYwVc74tvXJD72bbsul0j68V
=oTaO
-END PGP SIGNATURE-
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

Re: Yoics! Just upgraded and cc is (mostly) bus-error-ing on buildworld.

2010-05-31 Thread Andrew Reilly
Hi Garrett,

On Mon, 31 May 2010 21:36:23 -0700
Garrett Cooper yanef...@gmail.com wrote:

 Ok... there appear to be some interesting bits here, but I'm
 curious... when was the last time that you did a build with clang, and
 did you properly clean out /usr/obj, etc since your last compile?

I don't think that I ever have (compiled with clang).  I did pull
the pieces together when Roman first suggested it, but it didn't
work then, and I need this machine to be more up than down,
so I've shelved it for a while.  At that time clang also had a bug
that was a show-stopper for me, in that it wouldn't compile my
own code (compile time constant expressions with conditionals
were not recognised as constant, or something like that.)  Long
since fixed, but I don't have enough time to keep up.

I do regularly nuke /usr/obj before rebuilding.  Not always, but
often.

Cheers,

-- 
Andrew
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: [TESTING]: ClangBSD branch needs testing before the import to HEAD

2010-05-31 Thread Steve Kargl
On Tue, Jun 01, 2010 at 02:53:22PM +1000, Andrew Reilly wrote:
 
 On Mon, 31 May 2010 17:01:15 +0100
 Matthew Seaman m.sea...@infracaninophile.co.uk wrote:
 
  Is it really such a bad thing to have gcc as a build-dependency
  for various ported applications?
 
 There are already ports that have gcc-4.4.4 as a dependency, and
 a few that still require gcc-3.4.6.
 
 [on my system, that's :
 ffmpeg-0.5.1_3,1
 gegl-0.1.2_1
 gimp-app-2.6.8_3,1
 ufraw-0.16_3
 x264-0.0.20100222_1
 xsane-0.996_3
 blas-1.0_4
 lapack-3.2.1_1

Well, blas and lapack require gcc-4.4.4 because these
are implemented in Fortran.  Fortran was removed 
from FreeBSD's base several years ago.  Note, also
that clang/llvm can't compile these libraries so
the dependencies won't disappear anytime soon.

-- 
Steve
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Importing clang/LLVM into FreeBSD HEAD

2010-05-31 Thread M. Warner Losh
In message: aanlktikx-vnfgzuvh4-cevikdjslqqjrahjevdqd-...@mail.gmail.com
Garrett Cooper yanef...@gmail.com writes:
: On Mon, May 31, 2010 at 11:33 AM, M. Warner Losh i...@bsdimp.com wrote:
:  In message: 20100531161713.ga60...@freebsd.org
: 
: [...]
: 
:  There's more context here too.  To improve the support of various
:  architectures, we're planning on doing two things.  First, we're
:  updating binutils to the latest gplv2 version.  This will solve many
:  problems.  There's some other plans in this area as well, but the
:  summary is basically integrating some important vendor patches.
:  Second, we're planning to have the ability to use an external, perhaps
:  vendor supplied, tool chain.  You can kludge this together today, but
:  it is tedious and difficult.
: 
: This in and of itself is an interesting prospect. Why would happen if
: one could drop in icc for instance :) (I realize that it's basically
: gcc-compatible, but can this be done today without a lot of rework and
: effort)?

This is more about dropping in different assemblers, linkers, etc,
than picking icc.  CC=xxx is relatively easy.  It gets harder if you
don't want to use the in-tree toolchain.  Especially when cross
building...

Warner
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org