Live data from Hacker News

Android NDK: GCC is now deprecated, everyone should be switching to Clang

android.googlesource.com

61–70 of 259 posts

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#61

Earlier quoted context omitted.

RMS wants user freedom, not developer freedom That is the point people always miss. RMS believes that end user of software / hardware should be in complete control, it was/is never about developers. BSD/MIT/etc lic may provide for more developer freedom, but often they are used to restrict user freedom as the code is folded/packaged into commercial projects with non-free licenses

> RMS wants user freedom, not developer freedom And that's why we have the GNU toolchain, which is some of the most end user-friendly software ever made?

Especially after clang showed the world how useful error messages look like.

And GCC has some serious limits when it comes to help other tools, because RMS (probably rightfully) fears that if GCC outputs to detailed backend information, people would start adding non-GPL software after it and build non-GPL compilers on top of GCC.

Which lead to the funny situation of people asking to include LLVM-based tools into Emacs, because LLVM allows to build code-analysis tools GCC just doesn't provide the info for.

IMHO clang's success and maybe even existence is clear result of GCCs restrictions, but removing these restrictions would undermine central principles.

And both compilers are better now than they would be if the other didn't exist, so good for everyone I guess? It doesn't seem possible to reach all goals with just one of them.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#62
post #40

Earlier quoted context omitted.

That is not true at all, I know many non-developers that will compile source code themselves, one that is done often would be FFMPEG where you have several compile flags that will make the software preform differently based on the options you select, This is an example of Source Code being useful to non-developers.

Compiling source code you don't comprehend and aren't capable of rewriting isn't really an exercise of freedom. You could just as well distribute a closed binary with runtime configuration options, for all it matters in that case.

if you're implying that everyone who usefully modifies source code or compiles with options is able to write the code from scratch, i would advise you rethink your position.

to put a finer point on it, the concept of "layers of abstraction" is fundamental to computers and software. i can know quite a bit about adjusting the pieces of a program without having the ability to build it as effectively as i modify it.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#63
post #3

waits for RMS to get mad https://gcc.gnu.org/ml/gcc/2014-01/msg00247.html

I wonder what kind of world we would have if GNU were completely defeated, if no one released anything under the GPL anymore. Sure, free software would still exist, but nobody would call it "free software" and no one would prevent anyone else from creating non-free derivatives. Nearly all software would be "open core", with some free software here and there but with many or most of the interesting components non-free.

We're already very close to that world. Many people seem happy to see GNU losing ground every day. For myself, I am not sure that we are working towards the best possible future, but I'm not even sure what that future should be.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#64
post #9

Earlier quoted context omitted.

> I would guess they describe their work as "open source" and do not talk about freedom. Wow, what an asshole. Maybe they consider legal restrictions on how other people may use their software to be the opposite of freedom? Maybe that is the truth and maybe RMS has a good point to make, but how tone deaf is to call anything that isn't GNU, "unfree"? To suggest that they don't even talk about freedom because their lic…

RMS wants user freedom, not developer freedom That is the point people always miss. RMS believes that end user of software / hardware should be in complete control, it was/is never about developers. BSD/MIT/etc lic may provide for more developer freedom, but often they are used to restrict user freedom as the code is folded/packaged into commercial projects with non-free licenses

> RMS wants user freedom, not developer freedom That is the point people always miss.

Or we reject his attempt to lay exclusive claim to a word as all-encompassing as "freedom" and to co-opt it to his personal pet ends. You know, either/or.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#65
post #54
post #13

Earlier quoted context omitted.

RMS is nothing if not ideologically consistent. I applaud his goals and perseverance, even if they are not quite the same as mine.

I used to think the same as you, but I came around. I am annoyed by the FSF dogma because they lay an exclusive claim on the word ethics when applied to software. I consider myself an ethical person even in software. But my definition of ethical is less strict than the RMS definition.

Personally, I'm annoyed by RMS because it's annoying when someone I disagree with on so many things turns out to be right so often. I think they call that "cognitive dissonance."

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#66

Earlier quoted context omitted.

If you have the design, and you have access to FPGAs, I'd say that's got you pretty close already. Edit: We were talking about CPUs, not complete systems. And yes, the performance would be poor, but RMS has already strongly established that in his book performance is a distant runner-up to free.

By pretty close you mean no where near a usable system then you'd be correct. If you're not a hardware person, as I'm not, I don't think I could go from blank fpga and parts to a working laptop with a keyboard, trackpoint, and lcd screen in any reasonable amount of time, nor with any certainty that it would work and not be error-prone.

Order Oberon Station, copy-paste a couple of lines of instructions to flash a bitfile, and enjoy a nearly fully open environment.

A bit more tricky with or1200, but this way you'll get a fully functional Linux workstation.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#67
The sad thing is that "easy to link and embed" and "permissive license" really didn't have to go together like they did in LLVM.

GCC could have provided a library that made it easy to do code generation or compiler development. That library could still have used the GPL, so that only Free Software could use it. Some of the work that has happened around LLVM wouldn't have happened around such a library, but some of it would have. (GCC has much more recently started down the "plugin" route, but too little too late.)

For instance, Swift might not have happened. But Rust may well have; a rustc compiler under GPL would not have broken anyone's ability to use it, any more than GCC's GPL prevents people from building proprietary software with it.

But instead, the GNU project chose to make it difficult to build any extension to GCC outside of GCC's own codebase. So instead of having an easy-to-use library provided by GCC under GPL, which might have furthered many of the GNU project's goals and encouraged more Free Software compiler development, they forced the development of an entirely separate compiler project to provide such a library. And the people who came along to do so, since they had to rewrite it anyway, chose to do so under a permissive license.

So, at least in hindsight, the Free Software world is worse off than it would have been had GCC provided a library infrastructure.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#68
post #24

When we tried using clang for Android compiling C++ code half a year ago it caused problems, which disappeared when we switched to GCC. > If you have problems with Clang, please file bugs! Filing compiler bugs is really hard with a closed source project.

Compiler bugs are usually limited to a single compilation unit and are usually submitted by doing a binary search on a pre processed source file. This is certainly true for closed source as well - just redact the (few) symbol names and create something that will compile to an a.out that demonstrates the problem. God saves a puppy anytime someone filed a compiler bug with a trivial test case that demonstrates the prob…

> God saves a puppy anytime someone filed a compiler bug with a trivial test case that demonstrates the problem.

The current (r10e) shipping version of clang cannot return 128bit floats from a function.

   #include 
   int main(int c, char **v) {
       std::stringstream("1.5");
       double x; s >> x;
       return x == 1.5 ? 0 : 1;
   }
EDIT: You don't need "long double" in the above. double (or float) will show the problem. The standard library converts all floating point numbers to long double internally.

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#69

Earlier quoted context omitted.

It's a somewhat artificial distinction, since the user of a piece of software becomes a developer to modify it. And to preclude modifications which prevent him from effectively monetizing his labour is to infringe on his freedom. Prehaps it would not be if money (etc.) didnt exist. It's always the way, however, with idealists to prescribe policies that make people free in their utopia but cause chaos in our reality.

> And to preclude modifications which prevent him from effectively monetizing his labour is to infringe on his freedom. This sounds a lot like the people saying that adblocker software is infringing the freedom of people trying to monetize their websites (or maybe even "stealing" from them). And I think the same response applies: the fact that your business model isn't compatible with adblocker software, or with my c…

> Plus it seems extra presumptuous to claim some kind of inherent right to profit off derivative works of my software.

Who's claiming that? On the other hand, I've met more than a few pro-FSF people who seem to think it's cromulent to claim that I don't have the right to profit off my work (which is insane; you can pick whatever license you'd like, copyleft or not, and so can I).

Re: Android NDK: GCC is now deprecated, everyone should be switching to Clang

#70

Earlier quoted context omitted.

It's a somewhat artificial distinction, since the user of a piece of software becomes a developer to modify it. And to preclude modifications which prevent him from effectively monetizing his labour is to infringe on his freedom. Prehaps it would not be if money (etc.) didnt exist. It's always the way, however, with idealists to prescribe policies that make people free in their utopia but cause chaos in our reality.

Nothing in GPL prevents monetization, this is one of the major myths. I assume your one of those people that believes it is impossible to make money off "free" code Further it is not about developer not making money off his/her code, but not exploiting the work of others with and denying follow on developers the work of others.

[deleted]
Post reply on HN