Beta

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

LLVM 2.2 Released

Zonk posted more than 6 years ago | from the just-a-heads-up dept.

Programming 128

performance geek writes "LLVM 2.2 was released yesterday! This is the thirteenth public release of the open-source compiler that started as a GCC fork. LLVM supports several aggressive optimizations, in compile-, link- and run-time, and often produces faster (1.5-3x) code than GCC. It is also much faster than GCC at compiling (despite the slow link-time optimizations). Gentoo users are already trying to build the whole system with the LLVM toolchain to get the extra performance bit."

cancel ×

128 comments

Sorry! There are no comments related to the filter you selected.

Apparently not... (-1, Offtopic)

gQuigs (913879) | more than 6 years ago | (#22392544)

Linux Logical Volume Manager..
So what does it stand for?

Re:Apparently not... (4, Informative)

Teese (89081) | more than 6 years ago | (#22392584)

Low Level Virtual Machine [wikipedia.org]

Re:Apparently not... (1, Informative)

Frozen Void (831218) | more than 6 years ago | (#22392604)

http://en.wikipedia.org/wiki/LLVM [wikipedia.org]
Wikipedia, learn to use it.

Re:Apparently not... (1)

LighterShadeOfBlack (1011407) | more than 6 years ago | (#22392642)

http://en.wikipedia.org/wiki/LLVM
Wikipedia, learn to use it.
It wouldn't exactly kill Slashdot editors and contributors to get acquainted with the <acronym> tag though would it?

Re:Apparently not... (3, Informative)

cbart387 (1192883) | more than 6 years ago | (#22392884)

Agreed. I've always been taught that you introduce the full meaning of an acronym before you use it. The acronym may make sense to you, but the reader may not have been exposed to it. This is especially applicable on a tech site, where acronyms are rampant. I'm not even including the acronyms seen only on slashdot (which are very off putting to a first time user by the way). Remember: EVERYONE started as a beginner.

... just a pet peeve of mine that I can do a mini-rant on without being off-topic ;)

Re:Apparently not... (1)

QuickFox (311231) | more than 6 years ago | (#22393804)

IAWTP

Re:Apparently not... (1)

setagllib (753300) | more than 6 years ago | (#22395746)

It's an initialism, not an acronym.

Re:Apparently not... (1)

LighterShadeOfBlack (1011407) | more than 6 years ago | (#22396126)

What, you mean you don't pronounce it lulivim?

Yeah I know, but try finding the <initialism> tag in the HTML specs and you could be a while. I guess technically it should use the <abbr> element, but I'm still used to using <acronym>, largely because IE didn't support <abbr> until IE7.

Regardless of which tag they use, anything would be better than having to look up this stuff manually.

Re:Apparently not... (0)

Anonymous Coward | more than 6 years ago | (#22393012)

It was a perfectly reasonable question.
Dick, learn to stop being one.

Re:Apparently not... (3, Informative)

hahiss (696716) | more than 6 years ago | (#22392648)

Low Level Virtual Machine

http://llvm.org/ [llvm.org]

LWN alternative gcc article (4, Informative)

emj (15659) | more than 6 years ago | (#22392598)

LWN has discussion [lwn.net] on this, and there is a nice video presentation of LLVM 2.0 [google.com] as well. Cool thing, but as they say it isn't really about replacing GCC.

Re:LWN alternative gcc article (0)

Anonymous Coward | more than 6 years ago | (#22394012)

it isn't really about replacing GCC


Oh don't be so naive. There is a large anti-GPL contingent out there salivating at the chance to kill gcc. Microsoft, Apple, IBM, the BSD folks, and the hard core "open source" folks (ie: those people opposed to the idea of "free software" as expressed by the FSF). The GPL, and the popular software licensed under it, is the enemy of companies and people who advocate authoritarian/corporatist control over what users should and should NOT be allowed to do with their computers and their data.

Re:LWN alternative gcc article (1)

octopus72 (936841) | more than 6 years ago | (#22394178)

Actually they want to be able to fork the compiler anytime they feel like. With gcc it's not possible, so some corporations are investing their time in LLVM. That could be useful if they'd like to implement some code that needs to stay secret, but of course the main branch will continue to use current (GPL-compatible) license and they'd loose many of future improvements for their fork in the long time. Apart from that, I don't see any reason to fork a compiler, except maybe if Microsoft wanted to use it as they avoid any open source licensed code, which they can't convert to proprietary, like plague.

Re:LWN alternative gcc article (1)

julesh (229690) | more than 6 years ago | (#22394518)

Actually they want to be able to fork the compiler anytime they feel like. With gcc it's not possible, so some corporations are investing their time in LLVM.

Huh? LLVM *is* a gcc fork.

Re:LWN alternative gcc article (0, Troll)

Anonymous Coward | more than 6 years ago | (#22394772)

Please stop spreading misinformation.

LLVM has nothing to do with the GCC codebase. The only relation LLVM has to GCC are:

1) People are using GCC as a front end to LLVM code generators

2) Support for common GCC extensions

There will be little reason for people to continue with 1) when projects like clang are mature. LLVM is the most exciting thing to happen to compiler tech in a very long time. We are seeing with LLVM:

1) A from scratch set of code generation and analysis codebase that is completely modular and done right
2) A truly free source code license - no viral GPL BS to deal with
3) An explosion in the number of people working on compiler tech and tools since LLVM is so well thought out and modularized that every niche compiler/code generation need can be addressed by people with a very narrow area of expertise unlike GCC which is a giant and poorly designed mess of code.

Re:LWN alternative gcc article (3, Insightful)

7-Vodka (195504) | more than 6 years ago | (#22395500)

2) A truly free source code license - no viral GPL BS to deal with

You were doing so well until you spouted this aggregious bullshit line. You're obviously very biased against the GPL since it's a very tough stretch by the M$ marketing department to call it viral.

That's just as bad as calling copyright infringement "PIRATING". ARRGH ARRGH MATEY! AHOY THERE ON THE OPEN SEAS.
You idiot.

Re:LWN alternative gcc article (3, Insightful)

nuzak (959558) | more than 6 years ago | (#22397670)

Maybe they just want it to interface at link level with tools that, I dunno, might not be GPL?

Naw, they must be The Enemies Of Freedom. That's it.

Re:LWN alternative gcc article (1)

AxelTorvalds (544851) | more than 6 years ago | (#22396730)

It's not BSD either. It's the UofI License which is BSD like.

Re:LWN alternative gcc article (1)

octopus72 (936841) | more than 6 years ago | (#22397302)

Why is GPL "viral"BS? I find GPL a well balanced license. Why? Because it forces all contributors (which release a software product) to release also ALL source changes. And unlike v3, it doesn't ask for too much. That way it cannot happen that Microsoft takes the low hanging fruit (LLVM) and develops it as a proprietary fork in house and later promotes it to a major Windows compiler, or even attracts developers with their 'state-of-art tool'. So if a company like Microsoft can for free take a tool which took many man-years of best experts to develop, the license can't be really good. They aren't able do that with GPL-only software (at least not legally). For same reasons Linux is now way ahead of BSD systems even though they started earlier - because vast number of companies using Linux have no option other than to contribute. (Of course that's not the only reason and it's not fully correct in technical sense to call Linux 'way ahead' of BSD's as they have bright points).

Of course, if you were an employee of a company that needs to develop a proprietary compiler from scratch, you would like license used for LLVM very much.

Good reporting there, submitter (4, Insightful)

Goaway (82658) | more than 6 years ago | (#22392610)

"The open-source compiler that started as a GCC fork"? LLVM is not a compiler. It is a code generator, optimizer and virtual machine, usable as a compiler back-end. It later added a gcc-based front end.

Also, Apple is currently driving development of an alternate BSD-licensed front end named clang [llvm.org] .

Re:Good reporting there, submitter (3, Interesting)

samkass (174571) | more than 6 years ago | (#22393458)

Although Apple states that clang is not designed to replace GCC overall, I would be surprised if Apple wasn't planning on it replacing GCC in their products. It appears to provide more performance, smaller binaries, and a freer license than GCC.

Apple already reportedly uses it to compile their graphics code so that the same code can run on either a GPU or the CPU regardless of chipset available.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22393752)

and a freer license than GCC.

What does this mean, exactly? That they want a compiler which they can modify, distribute and not publish the source? You do know that gcc being GPL does not imply that code compiled with it not the resulting binaries are GPL, right?

Re:Good reporting there, submitter (1)

MenTaLguY (5483) | more than 6 years ago | (#22393882)

...they want a compiler which they can modify, distribute and not publish the source?

Yes.

Re:Good reporting there, submitter (1)

Enderandrew (866215) | more than 6 years ago | (#22393918)

That's why Apple used a BSD base as opposed to a Linux base for Mac OS X.

Re:Good reporting there, submitter (2, Informative)

LizardKing (5245) | more than 6 years ago | (#22394460)

That's why Apple used a BSD base as opposed to a Linux base for Mac OS X.

No, it's because MacOS X is a continuation of NeXTstep, which was based on a BSD userland and Mach kernel (itself originally developed from the BSD Unix kernel circa version 4.3). At the time NeXTstep was originally developed, Linux didn't exist and the GNU userland was still in its infancy. In addition, I've never seen any evidence that Apple considered a move to a Linux base for MacOS X, and considering how solid NeXTstep and OpenStep were I'd be surprised if they did. Licensing would have been an unlikely issue anyway, as NeXTstep always shipped with GCC as part of the development tools and there are a number of GNU tools in MasOS X.

Re:Good reporting there, submitter (1)

Enderandrew (866215) | more than 6 years ago | (#22394906)

Mac OS 9 wasn't Unix based. When they jumped to a Unix base with OS X, Linux had been well established. They choose a BSD base because of the license. OS X isn't open source. The kernel is, but it hasn't always been. At times Apple has closed off the source of the kernel. If they chose a Linux base, OS X would have to be completely open source, and that was never going to fly.

Apple chose a license that allowed them to take open code, alter, redistribute, and not share the source. Again, the parent examples fits in with their current practices.

Re:Good reporting there, submitter (0)

Anonymous Coward | more than 6 years ago | (#22395248)

If they chose a Linux base, OS X would have to be completely open source, and that was never going to fly.

I don't think so. The kernel would be GPL, along with GNU userland stuff they'd use, but everything else doesn't need to be GPL. They could still use a proprietaty GUI, tookit, etc.

Re:Good reporting there, submitter (1)

Goaway (82658) | more than 6 years ago | (#22395774)

Which part of "MacOS X is a continuation of NeXTstep" did you not understand? Mac OS X is not a from-scratch project. It was not created right after Mac OS 9. It's entirely based on NeXTstep, which is far older.

Re:Good reporting there, submitter (1)

Enderandrew (866215) | more than 6 years ago | (#22399152)

So they built upon something existing. That's backwards logic. You insist that because they built upon an existing product, that ruled out them possibly using another existing product because NeXTstep started before Linux was big? That makes zero sense.

Furthermore, Apple was been one of the biggest pushers of DRM and proprietary standards for years. Not to mention that they've taken credit for innovations and inventions that have existed in the open source community for years. (Virtual desktops come to mind) Given that they weren't even willing to keep the kernel open, what makes you think they'd ever completely abandon DRM and allow their OS to be fully open source? Is there any indication they'd ever consider it?

Stop trolling.

Re:Good reporting there, submitter (1)

Goaway (82658) | more than 6 years ago | (#22399526)

You insist that because they built upon an existing product, that ruled out them possibly using another existing product because NeXTstep started before Linux was big?
No, using another existing product was ruled out because Steve Jobs was the founder of NeXT. Learn some computing history.

Furthermore, Apple was been one of the biggest pushers of DRM
Bigger than Microsoft?

and proprietary standards
Name two.

Given that they weren't even willing to keep the kernel open
What exactly is http://www.opensource.apple.com/darwinsource/ [apple.com] , then?

Perhaps you should pay a little less attention to internet hysteria, and a little more to actual truth.

Re:Good reporting there, submitter (1)

Enderandrew (866215) | more than 6 years ago | (#22401644)

Bill Gates also worked heavily on OS/2 and promised it would be the OS for businesses. What we have today has little to do with DOS or early versions of Windows, but rather NT which they bought.

And OS X has little to nothing to do with previous iterations of the Mac OS. Steve Jobs had ties to NeXTstep, but that didn't mean Apple had to use it. Again, Apple has abandoned other things, just as Microsoft has.

I also didn't say Apple was the single biggest pusher of DRM, simply that they have been one of the biggest pushers. iTunes phones home, and FairPlay isn't exactly fair. They have pushed proprietary hardware. They won't allow their software on non-Apple hardware, and charge considerably more for the same hardware. The bundle software in much the same way that Microsoft was found guilty of anti-trust laws. It was deemed illegal to bundle Windows Media Player, yet Apple forced me to download iTunes to get QT. Admittedly, this thankfully eventually changed.

Again again, I didn't saw Darwin was closed source. I said it has been closed source. Apple has waffled on that.

Re:Good reporting there, submitter (1, Informative)

Anonymous Coward | more than 6 years ago | (#22396324)

Did you read a word of the post you're replying to?

Mac OS 9 wasn't Unix based.
So what? Who said it was? And who cares anyway? It's completely and utterly irrelevant, because OS X isn't derived from MacOS 9, it's derived from NeXTStep.

When they jumped to a Unix base with OS X, Linux had been well established.
But they didn't jump to a Unix base; they replaced MacOS with a new operating system based on NeXTStep. NeXTStep was first developed in the 1980s, many years before Linux even existed at all, let alone became established.

They choose a BSD base because of the license.
No, they didn't choose a BSD base at all. They chose NeXTStep, which happened to come with a BSD base. They never had any reason to consider a Linux base, because they already had a perfectly good Unix base. There was no choice made because there was no reason to make a choice.

If they chose a Linux base, OS X would have to be completely open source, and that was never going to fly.
Bullshit. You don't know what you're talking about. There is no reason whatsoever why you can't run a closed-source userland on a GPL kernel.

Re:Good reporting there, submitter (1)

LiENUS (207736) | more than 6 years ago | (#22400468)

But they didn't jump to a Unix base; they replaced MacOS with a new operating system based on NeXTStep. NeXTStep was first developed in the 1980s, many years before Linux even existed at all, let alone became established.
NeXTSTep was developed in the 1980s by NeXT (Please note that NeXT is a completely separate company from Apple at the time the decision to use NeXTStep was made.) Apple acquired NeXT in 1996, the same year I first started using Linux on my desktop coincidentally. Linux was nowhere near as well developed as it is today, but it was already very far along. By the same token what became OS X was nowhere near as developed as OS X is today. I am certain Apple gave at least some consideration to using Linux. I'm sure they also gave some consideration to licensing Windows NT (Which was at 3.51 and had support for PowerPC at the time) and a bunch of other crazy ideas.

Re:Good reporting there, submitter (1)

xouumalperxe (815707) | more than 6 years ago | (#22400966)

Bullshit. You don't know what you're talking about. There is no reason whatsoever why you can't run a closed-source userland on a GPL kernel.

But you can't link closed source modules into a GPL kernel, and that's an issue with in-kernel DRM, for one, and potentially other technologies that, while not so based on secrecy themselves, Apple would rather keep closed-source.

This said, NeXTStep was already there, and arguably Apple bought NeXT because of it and related technologies, so there's no good reason to go from those underpinnings to a linux-based system.

Re:Good reporting there, submitter (1)

larry bagina (561269) | more than 6 years ago | (#22397846)

In the OS 8/9 days, Apple experimented with Linux. The result: mkLinux. That was 1995/1996, before Steve Jobs returned, but Apple was involved until 1998.

I've heard rumors (from a couple different sources) that Apple considered replacing the OpenStep/OS X BSD kernel with mklinux but considered it unsuitable for technical, not legal, reasons.

Re:Good reporting there, submitter (1)

Eric Smith (4379) | more than 6 years ago | (#22400498)

Apple had Unix well before that: A/UX [wikipedia.org] . It was actually pretty nice for its time.

Re:Good reporting there, submitter (1)

immcintosh (1089551) | more than 6 years ago | (#22394090)

I didn't think that one was too hard to figure out either :P

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22394612)

You didn't see the sarcasm, either.

Re:Good reporting there, submitter (1)

xouumalperxe (815707) | more than 6 years ago | (#22401136)

Seems that you didn't grasp the whole "free as in freedom" concept, then. I've come to realize that the best way to characterize that "free as in freedom" thing is this: it's not about your freedoms, as a developer or user. It's about the code's freedoms as an entity unto itself. And being closed (like the BSD license allows, for example), is less free than the LGPL, which in turn is less free than the GPL because it allows you to lock up code around it.

Whether open source must mean free software, and whether free = good are entirelydifferent discussions well worth discussing, but the notion of free software was pretty much envisaged by RMS, and his definition of what makes software free is quite clear.

Re:Good reporting there, submitter (1)

LizardKing (5245) | more than 6 years ago | (#22394304)

There's some concern in the BSD camps and elsewhere about the switch to GPLv3 for GCC and the GNU binutils. Some of the impetus for the changes in GPLv3 is the use of GCC in the embedded programming world, where the development and target platforms are closed source (usually Windows using Cygwin in the case of the development platform). As embedded applications is where BSD is quite heavily used, without the fanfare that Linux often gets simply because you don't have to make the source code available, companies who prefer BSD operating systems are worried about the implications of their reliance on the GNU toolchain. I don't know about Apple, but they may have similar concerns about the FSF agenda with regard to GPLv3, hence them putting resource into a new frontend for LLVM. Regardless of the politics, I'd very much like to see a better open source compiler than GCC whether it's under the BSD license or GPLv2 (without the "later version" wording).

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22394716)

GPLv2 (without the "later version" wording).

You do understand that the usual "or a later version" clause leaves the choice of version to you (or whoever is distributing the code), right?

Re:Good reporting there, submitter (1)

Goaway (82658) | more than 6 years ago | (#22395818)

No, it leaves the choice with those who drive the development. If the main development branch suddenly decides to go GPL3 only, you are either stuck with an outdated version, or forced to use the GPL3 code.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22396132)

That's ridiculous. You are only required to use the GPL3 code if you want to make use of what those developers that opted for the GPL3 worked hard to write. Why would you be entitled to take advantage of their work without acepting their conditions?

Re:Good reporting there, submitter (1)

larry bagina (561269) | more than 6 years ago | (#22398324)

The FSF requires all GCC contributions to be assigned to the FSF. Apple has contributed code to GCC. What if Apple (or any other contributor) supports the GPL v2, but not v3? The FSF has the legal right to update the license (to GPL v3 or closed source proprietary), but that code was contributed under the GPL v2 license.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22398614)

If you do not want to accept the terms under which some piece of code is distributed, you have to write your own. That is quite clear.

Re:Good reporting there, submitter (1)

samkass (174571) | more than 6 years ago | (#22395214)

What does this mean, exactly? That they want a compiler which they can modify, distribute and not publish the source?

Obviously that's not their primary motivation since they are, in fact, publishing the source. But I suspect they want the freedom to combine it with any other source they have in any way they deem technically advantageous without the license having anything to say about it. They probably also want the freedom to control the timing and manner of the publication of the source. And yes, they probably want the ability to not publish the source in certain circumstances when they feel that doing so would be detrimental to them.

GPL is a great license for its own ecosystem, but don't try to pretend that it isn't more restrictive than BSD.

You do know that gcc being GPL does not imply that code compiled with it not the resulting binaries are GPL, right?

Yep. This has nothing to do with that. Apple builds developer tools as well as products developed with those tools.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22395424)

What does this mean, exactly? That they want a compiler which they can modify, distribute and not publish the source?

Obviously that's not their primary motivation since they are, in fact, publishing the source. But I suspect they want the freedom to combine it with any other source they have in any way they deem technically advantageous without the license having anything to say about it. They probably also want the freedom to control the timing and manner of the publication of the source. And yes, they probably want the ability to not publish the source in certain circumstances when they feel that doing so would be detrimental to them.

Ok, so what they want is more freedom for themselves. Which is quite a different thing from freedom for the user, which is what the GPL set out to protect. You said "it appears to provide a freer license": it is always necessary to be explicit about who gets the extra freedom.

GPL is a great license for its own ecosystem, but don't try to pretend that it isn't more restrictive than BSD.

It is less restrictive for the developer, and more restrictive for the user. Restrictiveness is not a totally ordered [wikipedia.org] value.

In this particular case, according to what you say, Apple wants to be more free so as to be able to restrict what the user can do.

Re:Good reporting there, submitter (1)

Goaway (82658) | more than 6 years ago | (#22395864)

Ok, so what they want is more freedom for themselves. Which is quite a different thing from freedom for the user, which is what the GPL set out to protect. You said "it appears to provide a freer license": it is always necessary to be explicit about who gets the extra freedom.
And the developer is the party bound by the license, not the user. Thus, a license with less restrictions, like BSD, is "more free" in any useful sense of the word.

You may think it is good to protect the user's interests, but this does not mean the "license is more free". It is less free. Don't conflate what you want with "freedom".

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22396184)

Ok, so what they want is more freedom for themselves. Which is quite a different thing from freedom for the user, which is what the GPL set out to protect. You said "it appears to provide a freer license": it is always necessary to be explicit about who gets the extra freedom.
And the developer is the party bound by the license, not the user. Thus, a license with less restrictions, like BSD, is "more free" in any useful sense of the word.

The party bound by the license is the distributor. If you do not understand that, you really should not be making comments on the GPL...

You may think it is good to protect the user's interests, but this does not mean the "license is more free". It is less free. Don't conflate what you want with "freedom".

What I am saying is that a statement such as "the license is more free" does not mean anything. You have to specify who it provides that extra freedom and what that freedom allows the recipient to do. Likewise, a statement like "it is less free" does not mean anything.

Re:Good reporting there, submitter (0)

Anonymous Coward | more than 6 years ago | (#22396300)

Hey dumbfuck!

Do you realize you are doing nothing more than giving yet another example to STAY THE FUCK AWAY from the restrictive and viral GPL and its wackjob supporters like you.

You are in desperate need of having the shit beat out of you.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22396534)

As opposed to staying very close to whatever `side' you count yourself in, obviouslt and characteristically proud of the incisiveness of the arguments it brandishes. All Anonymous and all. Very cute!

Re:Good reporting there, submitter (1)

Goaway (82658) | more than 6 years ago | (#22397040)

The party bound by the license is the distributor.
And in how many cases is the developer not the distributor? Stop playing semantic games to cloud the issue.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22397310)

Maybe you have heard about this groups of people called `distribution makers'? You can check http://www.redhat.com/ [redhat.com] , http://www.debian.org/ [debian.org] , http://ubuntu.com/ [ubuntu.com] , and so on. I hear there is a whole site [distrowatch.com] dedicated to simply listing linux distros! They surely are not the developers of all the code they package, you know.

The fact that the GPL is a license on distribution is a hardly a semantic point: it is essentially the whole point of the license!

You claimed that "the developer is the party bound by the license, not the user": one can but conclude that you have not even read the license (nor the many faqs out there explaining in painstaking detail what the license says...)

Re:Good reporting there, submitter (1)

Goaway (82658) | more than 6 years ago | (#22399596)

Still playing silly semantic games. The fact that there is a second group of distributors makes no difference to the actual argument. That second group is not "users", either. My point that the user is not bound by the license still holds exactly as before.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22399894)

Your point was literally [slashdot.org] :

the developer is the party bound by the license, not the user.

I have never said that the user is bound by the license, as that would be absurdly idiotic, as the license says so itself in the first couple of paragraphs. The developer, too, is not bound by the license. The distributor is who is bound by the license, because it is a copyright license. It is not that hard.

Still playing silly semantic games. The fact that there is a second group of distributors makes no difference to the actual argument. That second group is not "users", either.

I have no idea what you are trying to say here. You asked "And in how many cases is the developer not the distributor?" and I pointed you to the easily established fact that most people do not get GPL code from the developers, but from distributors who are not the developers.

I do not think "semantic games" means what you think it means. From what you write, you seem to think that it means "LALALALALALALALAAL". It doesn't.

Re:Good reporting there, submitter (1)

Goaway (82658) | more than 6 years ago | (#22400868)

Sigh.

Did you even make the tiniest effort to understand what my original point was?

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22401410)

Your point [slashdot.org] was that, since the GPL binds the developer, a license such as BSD is freer. Now, the GPL does not bind the developer, so that argument carries absolutely no weight. There are other arguments to be made, but yours does not take you anywhere.

After that you said:

You may think it is good to protect the user's interests, but this does not mean the "license is more free". It is less free. Don't conflate what you want with "freedom".

I cannot make any sense of this. As I said before, there is no total order on liberties. You appear to believe that `protecting the user' means `less free', while `protecting the developer' means `more free': this is a meaningless statement. As I said, unless you specify who it provides that extra freedom and what that freedom allows the recipient to do, `comparing freeness' does not mean anything.


You have yet to produce something apart from `sigh's and `stop playing semantic games'. This is quite tiresome...

Re:Good reporting there, submitter (1)

samkass (174571) | more than 6 years ago | (#22397152)

Ok, so what they want is more freedom for themselves. Which is quite a different thing from freedom for the user

They ARE the user, so in this case it's the same.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22397356)

Oh, come on. They are not. That claim is plainly silly.

Re:Good reporting there, submitter (1)

LiENUS (207736) | more than 6 years ago | (#22400280)

Oh, come on. They are not. That claim is plainly silly.

that claim makes plenty of sense to me. Most users of OSX aren't likely to be using the compiler regularly (I know my mom hasn't used a compiler on OSX). The only user of the compiler in regards to her computer was apple. Hence apple is the user.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22401286)

Well, the fact that most users are not going to be using a compiler applies to Fedora and other distros too. It is quite irrelevant.

Apple can take a GPL-licensed compiler, modify it to their pleasure, use it to compile whatever applications they want, and distribute the resulting binaries. As long as they are not distributing the modified compiler, they are not---I repeat--they are NOT bound by the GPL. There is very little that can be described as "more free" than that.

Now, if they want to distribute the compiler too, then yes, they become distributors of a derivative work and have to comply with the GPL.

Re:Good reporting there, submitter (0)

Anonymous Coward | more than 6 years ago | (#22396368)

My understanding is that Apple would like to have tighter integration between their development tools, specifically XCode, the compiler and linker. They can avoid having separate parsing and tokenization in their text editor, have much improved contextual error information, and improve performance. GCC poses both architectural and legal obstacles to this kind of development for Apple right now.

There's a Google Tech Talk from Chris Lattner that talks about Clang features and benefits:
http://clang.llvm.org/clang_video-07-25-2007.html [llvm.org]

Re:Good reporting there, submitter (0)

Anonymous Coward | more than 6 years ago | (#22396496)

"GCC poses both architectural and legal obstacles to this kind of development for Apple right now."

translation:

GCC is a steaming pile of shit.

Yes it has been ported to every platform in the world and has made fairly good improvements to code generation and speed, but the actual source code, modularity, and usability for anything other than pure source code compilation is a complete disaster.

Apple is going to be making a gigantic jump in development tools and support when their LLVM stuff gets to a usable form.

Linux development tools are going to be left far behind if the attitude that LLVM is nothing more than some sort of 'anti-GPL' conspiracy.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22396632)

GCC poses both architectural and legal obstacles to this kind of development for Apple right now.

I do not know about the technical side, but surely there is

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22396744)

[This time with whole sentences!]

GCC poses both architectural and legal obstacles to this kind of development for Apple right now.

I do not know about the technical side, but surely there is another approach to those legal obstacles. For example, the one Sun took with Java.

Re:Good reporting there, submitter (5, Informative)

larry bagina (561269) | more than 6 years ago | (#22398478)

Exactly! From the clang readme. Half of these things are a nice feature for XCode/IDE integration.

III. Current advantages over GCC:

  * Column numbers are fully tracked (no 256 col limit, no GCC-style pruning).
  * All diagnostics have column numbers, includes 'caret diagnostics', and they
      highlight regions of interesting code (e.g. the LHS and RHS of a binop).
  * Full diagnostic customization by client (can format diagnostics however they
      like, e.g. in an IDE or refactoring tool) through DiagnosticClient interface.
  * Built as a framework, can be reused by multiple tools.
  * All languages supported linked into same library (no cc1,cc1obj, ...).
  * mmap's code in read-only, does not dirty the pages like GCC (mem footprint).
  * LLVM License, can be linked into non-GPL projects.
  * Full diagnostic control, per diagnostic. Diagnostics are identified by ID.
  * Significantly faster than GCC at semantic analysis, parsing, preprocessing
      and lexing.
  * Defers exposing platform-specific stuff to as late as possible, tracks use of
      platform-specific features (e.g. #ifdef PPC) to allow 'portable bytecodes'.
  * The lexer doesn't rely on the "lexer hack": it has no notion of scope and
      does not categorize identifiers as types or variables -- this is up to the
      parser to decide.

Potential Future Features:

  * Fine grained diag control within the source (#pragma enable/disable warning).
  * Better token tracking within macros? (Token came from this line, which is
      a macro argument instantiated here, recursively instantiated here).
  * Fast #import with a module system.
  * Dependency tracking: change to header file doesn't recompile every function
      that texually depends on it: recompile only those functions that need it.
      This is aka 'incremental parsing'.

Re:Good reporting there, submitter (1)

ArsonSmith (13997) | more than 6 years ago | (#22394088)

...and a freer license than GCC.

Really? I'm glad you weren't around when freeing the slaves was the important issue. Perhaps we should have BSDed the slaves. You know, everyone will release them, but of course anyone else can pick them back up and enslave them for themselves.

Re:Good reporting there, submitter (1)

maxume (22995) | more than 6 years ago | (#22394294)

You know perfectly well that he meant freer as in less restrictive. Acting like words only have the meanings that you endorse is tiresome.

And yes, the GPL is more restrictive than something like BSD. Plenty of people think those restrictions are to good effect, but they are still restrictions in the sense that there are things that can be done with BSD(or similar) code that cannot be done with GPL code.

Re:Good reporting there, submitter (1)

msuarezalvarez (667058) | more than 6 years ago | (#22395470)

You know perfectly well that he meant freer as in less restrictive. Acting like words only have the meanings that you endorse is tiresome.

Denying that the words have more than one possible meaning is dishonest.

He meant freer as in "less restrictive for the developer". There are other ways for code to be free.

Re:Good reporting there, submitter (1)

maxume (22995) | more than 6 years ago | (#22396686)

Who is denying that the words have more than meaning? What exactly do you interpret "acting like words only have the meanings that you endorse" to be talking about?

My intent was to imply that yes, free often means Free in the way that GNU, etc use it, but that it is tiresome to act like that is the only meaning it has. I'm pretty sure that is what I did, because in the world I live in, when someone says something, it is best to interpret what they are saying in the context of their own words, not in whatever context happens to be rhetorically convenient for me.

So the very first poster said 'free' and meant, as you clarified, less restrictive for developers, then the OP replied and said "neener-neener that's not free", clearly meaning "Free" and then I said, "he didn't mean Free, so what's your problem?" and then you said, "hey, you are trying to deny that free can mean Free", which has nothing to do with what I was talking about.

Maybe I misunderstood your intent?

Re:Good reporting there, submitter (1)

LizardKing (5245) | more than 6 years ago | (#22394530)

We're talking about freedom not GNU Freedom*. If you want to draw politic analogies, then it's a little like comparing BSD liberalism to GNU Marxism with Stallman as Stalin, changing the consitution - sorry, license - as it suits him.

* A registered trademark of the Free Software Foundation. (I jest).

Re:Good reporting there, submitter (1)

k8to (9046) | more than 6 years ago | (#22394796)

If you're going to go completely off the deep end and call the GPL commie, at least get your commies straight. Stalin isn't marxist.

Re:Good reporting there, submitter (0)

Anonymous Coward | more than 6 years ago | (#22401372)

It's a bit funny you all americans are so ill about "commies" and so proud about capitalism.

How is it that americans so much adore capitalism while the very time you can proof your adherence, that is, in your own companies, you always prefer basing them over communist principles better than capitalist?

Re:Good reporting there, submitter (1)

akihabara (70553) | more than 6 years ago | (#22398708)

Claiming the intent is not to replace GCC is pure propaganda and only there to not get some people's back up. It clearly is intended to replace GCC; ultimately pretty much the whole toolchain in fact; developers openly state they intend it to be a drop-in replacement.

I think this is very likely; the FSF's toolchain has dug its own grave, being poorly designed and non-modular. It was only a matter of time.

Extra Performance (4, Funny)

Jellybob (597204) | more than 6 years ago | (#22392736)

Of course the Gentoo users are off recompiling there whole system for the extra performance. It's what they do - why use your computer when you can make it .242% faster with only 15 hours of compiling?

Re:Extra Performance (1)

SanityInAnarchy (655584) | more than 6 years ago | (#22393442)

That's why I left for Ubuntu, but honestly, if I can make it 3x faster with 15 hours of compiling?

Re:Extra Performance (1)

rcw-home (122017) | more than 6 years ago | (#22393538)

why use your computer when you can make it .242% faster with only 15 hours of compiling?

but honestly, if I can make it 3x faster with 15 hours of compiling?

Err, I think you're missing the point.

Re:Extra Performance (2, Informative)

SanityInAnarchy (655584) | more than 6 years ago | (#22393892)

Actually, I was correcting the point. TFS claims 1.5x-3x speed improvement over gcc.

Of course, TFS was also dead wrong about Gentoo users trying to build the whole system. Apparently there's an ebuild to install llvm, which seems like an obvious thing to do. There's also mention of Mesa intending to switch to llvm, and other projects might follow, but those are isolated programs, no more shocking or revolutionary than the fact that Eclipse is written in Java.

Re:Extra Performance (1)

audi100quattro (869429) | more than 6 years ago | (#22394082)

I've tried the v2.1 ebuilds with the 4.0 gcc frontend and gzip/bzip were 10-20% slower on most types of files on my athlon64x2. I'm guessing the optimizations need to be turned on relevant to the codebase, and most are off by default.

I wish the ebuilds had gcc-config support and the fix_libtool thing might need some fixing too.

Re:Extra Performance (1)

FunkyELF (609131) | more than 6 years ago | (#22395362)

I'm not going to pretend to know anything about the gzip/bzip code but I would guess that processor hungry tools like those are already pretty optimized at the C language level if not assembly.

Perhaps optimizations like those to trick the gcc compiler into generating faster code has the reverse effect on LLVM?

Again, I know nothing.

Re:Extra Performance (1)

eddy (18759) | more than 6 years ago | (#22393596)

Your whole system 3x faster by changing compiler? You never can. There isn't that much performance hidden in there.

Re:Extra Performance (1)

FunkyELF (609131) | more than 6 years ago | (#22395426)

Yeah, I would bet those are very special cases where you get 3x performance. Of a C program that has 1000 functions probably only a small percentage of those functions could be sped up 3x and they're probably trivial and don't contribute much to the overall runtime of that program.

If any significant profiling has been done on CPU intensive programs the authors might already be doing optimizations at the C language level.

Re:Extra Performance (2, Informative)

Just Some Guy (3352) | more than 6 years ago | (#22399988)

There isn't that much performance hidden in there.

Fortunately for us, compiler researchers say you're wrong. LLVM takes the Java-like approach of seeing what parts of your code can be optimized by gathering runtime profiling information, then using that to dynamically recompile parts of your code that really need it. I'd be surprised if that kind of system couldn't squeeze out quite a bit more performance.

Re:Extra Performance (0)

Anonymous Coward | more than 6 years ago | (#22393762)

Of course the Gentoo users are off recompiling there whole system for the extra performance.

Ever so funny, but there's absolutely no mention in the linked bug report of anyone using LLVM to recompile the whole system. (And yes, I know it's the submitter's fault and not yours.)

Gentoo Users (3, Insightful)

Enderandrew (866215) | more than 6 years ago | (#22393976)

Some Gentoo users just want fine-grained control over their systems. They get exactly the packages they want, configured the way they want, and nothing else. The biggest power of Gentoo isn't compile optimizations, but rather use flags. I want my box to operate exactly how I want it. Gentoo allows me that freedom.

It does take a good deal more time and effort, but frankly some people enjoy that sort of thing as a hobby, the way others constantly tinker with their car.

For what it is worth, portage (and the two portage replacements, pauldis and pkgcore) are quite frankly hands down the best package managers out there, and they handle pre-compiled binary packages just as well. I really honestly believe the rest of the Linux world would be greatly benefited by using one package manager, regardless of how they compile or pack their binaries.

Set a use flag for openSUSE_10.3 and portage knows what packages to grab. It could work.

one pakage manager to rule them all (1)

emj (15659) | more than 6 years ago | (#22394876)

For what it is worth, portage (and the two portage replacements, pauldis and pkgcore) are quite frankly hands down the best package managers out there, and they handle pre-compiled binary packages just as well.


The problem is that in my view gentoo is often the worst distribution out there, with very low quality packages. Maybe the package manager is great, but it's not really about technical excenlece it's about how easy it is to use. Sadly most things become easy to use after training, and people don't want to train more than once, that's why people are still in Debian.

But if you have any good highlights of why portage is so much better then please tell me, the one thing I love about debian is this:


apt-get sources xbattle
apt-get build-dep xbattle
# then build manually


I'm sure there is something similar in portage.

Re:one pakage manager to rule them all (2, Insightful)

Enderandrew (866215) | more than 6 years ago | (#22395134)

There are tons of advantages to portage, but the biggest is use flags. It also handles dependencies far better than apt-get, yast, or anything else I've tried. I've run into broken, dependency hell of other systems. That alone is huge.

You say the packages in Gentoo are horrible. They are source based packages, the same as you'd get with Debian, or Ubuntu, etc. Each distro does often include distro-specific patches with various packages, but not all. However, I'm not sure which packages are so horrible in Gentoo, as we're just talking about source code.

If you're not familiar with use flags, I can compile in support for qt widgets, gtk widgets, java, etc, or remove any of these features from openoffice as I see fit. Or I can download a precompiled binary of openoffice. With something like apt-get, you can download sources and the recompile the sources, but apt-get has no way to keep track of whether or not you compiled openoffice with ldap support or not. However, Gentoo keeps track of the use flags for dependency purposes, and to make sure all packages of my systems are compiled with the same options. Or I can set a use flag for one package as opposed to globally if I wish.

Check this out sometime.

http://paludis.pioto.org/ [pioto.org]

Re:one pakage manager to rule them all (1)

emj (15659) | more than 6 years ago | (#22400998)

There are reasons to call packages horrible, ignorance from users, NIH feelings from users and bad integration of developers. What I saw in 2005-6 was that the packages of Gentoo were lower quality than the ones in Debian. I think this was because the Debian way is to include everything, and that is hard to do good which means they have to work more on the packages. The Gentoo way seemed to be about adding as many use flags as possible, I think this leads to packages that hasn't been tested with all features/permutations.

I think the Gentoo model is very good, I don't believe in Source packages but I think it's an important option to have. As a free software OS the most important part isn't the binary but the source, and this is something I think Red Hat Enterprise Linux should learn (getting patches from them is very hard, and usually it's just a matter of USE flags), but combining testing and freedom to tinker is probably never going to work.

Re:one pakage manager to rule them all (1)

Enderandrew (866215) | more than 6 years ago | (#22401586)

It is important however to separate the package manager and the packages themselves. If nothing else, portage handles dependencies very well, and will even show you a tree of dependencies for your packages.

Re:one pakage manager to rule them all (1)

Dan Ost (415913) | more than 6 years ago | (#22395208)

If you want manual control over the build (or want to make source changes), instead of typing

emerge foo

You'd type

ebuild foo.ebuild fetch unpack compile install qmerge

and make whatever changes you wanted in between unpack and compile or compile and install (depending on the kinds of changes you wanted to make.

Re:one pakage manager to rule them all (1)

Ant P. (974313) | more than 6 years ago | (#22398536)

I'm sure there is something similar in portage.
`emerge --onlydeps xbattle && emerge --fetchonly xbattle` should do it, though then you have to mess around with package.provided so it doesn't uninstall the deps later on.

I haven't used emerge for a while since I've found paludis does things better (its config files are actually in a consistent format, for one thing...)

Re:Extra Performance (1)

jlherren (1025754) | more than 6 years ago | (#22399014)

Heh, you're laughing, but there are situations where a few hours of compiling are can be worth a quite small increase in runtime performance. And that's not only for when that gain is more than the time spent compiling, which might only happens when your program has to run for a loooooong time. Imagine a server that gets heavy traffic during the day and is idle during night. Spending 30 nights compiling the server software with a slightly better compiler or better compiler options is no loss, because the server would otherwise be idle anyway. But the performance gain can be noticable during the day and that's an improvement even if the cumulative time saved in execution will never grow larger than the cumulative time spent compiling.

Anyway, people like making fun of gentoo users trying to get maximum speed, which is totally fine. But speed has never been a reason why I use gentoo. It can't be, because I don't see it being any faster than other systems, in fact, I think some parts of it are slower than other distros (emerge --sync takes a long time, portage tree is stored inefficiently, resolving dependencies takes ages). For me, gentoo is about flexibility and configurability.

Does it do inline asm yet? (0)

Anonymous Coward | more than 6 years ago | (#22393126)

Last I knew, this didn't have inline assembly. Does it have this yet? I know that a lot of people like to say you shouldn't be using assembly, but for certain uses this is a show stopper. If LLVM wants to truly replace GCC, it should provide this.

Granted, the small amount I've read about LLVM's design might make this less than straightforward. IIRC, it places much emphasis on generating intermediate, architecture-independent code which can then be compiled into machine code. Some things I read seem to suggest that they want to do JIT (or something like it) of this intermediate language (correct me if I'm wrong).

Re:Does it do inline asm yet? (2, Informative)

AcidPenguin9873 (911493) | more than 6 years ago | (#22393772)

LLVM has supported inline asm since release 1.7, and the support has steadily been getting better at each release, with major improvements in 1.8 and 1.9.

http://llvm.org/releases/1.7/docs/ReleaseNotes.html [llvm.org]
http://llvm.org/releases/ [llvm.org]

The only problem with the x86 inline asm support in 2.2 is the lack of support for the x87 floating point stack in the inline asm register constraints. See "Known Problems" in the 2.2 release notes.

Re:Does it do inline asm yet? (1)

julesh (229690) | more than 6 years ago | (#22394592)

Some things I read seem to suggest that they want to do JIT (or something like it) of this intermediate language (correct me if I'm wrong).

They already have a JIT compiler for their intermediate language, but it isn't the primary development focus. I think it was more of a "it would be cool if..." kind of thing.

The main thrust of development is in link-time optimizations and code analysis.

and it still does nothing (misleading) (0)

Anonymous Coward | more than 6 years ago | (#22393600)

overcoming gcc is not so easy after all Apple trolls.

Benefit (1)

Enderandrew (866215) | more than 6 years ago | (#22394118)

I don't imagine my whole computer will even run more than 10% faster, let alone 3 times faster. However, there are some really large, clunky codebases such as OpenOffice that could probably really benefit from this. And if part of the benefit comes from assembly in-lining, then code that has large chunks of assembly like emulators, or maybe the kernel might benefit as well. It will likely be up to these packages to try and support llvm rather than vice-versa.

LLVM isn't the only such beastie. (1)

jd (1658) | more than 6 years ago | (#22396336)

Gelato uses OpenIMPACT [uiuc.edu] to do the same thing. From what I understand, OpenIMPACT works on both 32-bit and 64-bit code, with most of the development going into the 64-bit stuff and with most of the interest from the HPC and supercomputer groups (which is where I've most often seen the Gelato distro). Both are source-to-source "compilers" (well, since it's source-to-source, I'd look at them more as a pre-compiler). Not sure how well they do at optimizing between source files. I'm also suspicious of linking (function calls are expensive and - by definition - that's what libraries do). Not sure what you can do about optimizing system calls, which are really expensive. A batch system call would offer all kinds of possibilities for security holes.

LLVM Question... (1)

FunkyELF (609131) | more than 6 years ago | (#22395504)

I remember reading somewhere about some guy targeting javascript so that he could write in any language which has a front-end in LLVM and have it generate javascript.

I don't know javascript at all...so lets say he did this with Java.

Could I write a program in C, and have it target a JVM rather than a particular OS/Architecture? Would I get Java array bounds checking of my C code?

Re:LLVM Question... (0)

Anonymous Coward | more than 6 years ago | (#22397052)

No, his system 'cheats'. Basically he created a large char array to act as the whole system RAM. Then, malloc just returns indices into that array.

However, you can achieve what you want in a much simpler way that doesn't involve relying on Java or JavaScript safety. Write an LLVM transformation pass [llvm.org] that takes every MallocInst [llvm.org] and replaces it with one that either a) returns the pointer + a size (called the fat pointer technique) or b) registers the pointer and size in a list on the side elsewhere then does the malloc. Then, the pass also modifies every LoadInst [llvm.org] and StoreInst [llvm.org] (and free?) to check the validity of the pointers before using them.

What's neat about this is that you can then statically compile the resulting program. There's no need for a VM to sit in between. If you're really lucky, LLVM will even be successful at optimizing away the safety checks on your load and store instructions.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?
or Connect with...

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>