[LLVMdev] Preferring to use GCC instead of LLVM

kr512 kr512 at optusnet.com.au
Tue May 13 03:39:07 PDT 2008


Owen Anderson wrote:
> There's nothing particularly stopping you from having your 
> installation package include copies of gas and ld,

I disagree.  gas and ld are not available on Windoze, except 
via MinGW.  Yes I can make or tell my customers to install 
MinGW, but if MinGW is installed, then I don't need LLVM. 
(More about this further ahead)

> You're welcome to think that, and I'm welcome to think 
> that your demands are unrealistic.

Obviously!!  Everyone already knew that you are entitled to 
your own opinion, there was no need for you to say that.

> See, this is the part where you throw people.  You keep 
> stating that you really want to use LLVM, but this kind of 
> statement makes it sound like you don't really care.

What you interpret as me not caring about LLVM is actually 
me being forced to be practical in a real-world situation.

Anyway, why does it matter whether or not I care about LLVM? 
Am I required to be in love with a project before I can 
contribute any feedback to it?

> I'm going to let you in on a reality of open source 
> development: if you really particularly want some feature, 
> you might have to end up writing it yourself.

Obviously!!  I already knew that, but before I can even 
consider writing it myself, I must first discuss the issue 
with developers on the mailing list, and that is what I was 
doing.

> Showing up and demanding that they be done for you isn't 
> going to get you anywhere

I was not demanding anything.  Rather I was providing 
feedback and constructive criticism, as I said.  Look at 
what I actually wrote in my earlier message:

"It would be wonderful if support for the 3 container 
formats could be finished/implemented."

Does that sound like a demand to you?   Are you really sure 
you want to claim that saying "It would be wonderful if..." 
constitutes a DEMAND?

> I do think your expectation that we're all going to drop 
> what we're doing in order to embark on multi-year projects 
> to replace underlying system tools [...] is unrealistic.

I didn't have that expectation, and I never said or implied 
that I did, so it is strange that you say that.

By the way, it is NOT "multi-year projects".  I agree with 
what Holger Schurig said:
"[...] So it is actually possible to do this with limited 
resources (the FPC developer community isn't that large). It 
just has to be done."

Also, Nick Lewycky said that there is ALREADY an unfinished 
ELFWriter and MachOWriter in lib/Codegen/ !

Owen Anderson wrote:
> You, as the developer, install/build binutils in MinGW. 
> Then you pull the executables out and stick them in the 
> package that you give your clients.  Thus the clients 
> don't need MinGW.

Interesting suggestion, how confident are you that that will 
be successful?  I have doubts that the binutils in MinGW can 
be executed and used successfully without the rest of MinGW 
being present.  I wonder if your suggestion amounts to 
starting a "Micro-MinGW" fork of MinGW, similar to how MinGW 
started as a fork of Cygwin.

Also there are possibly licensing problems -- it is worth 
noting that LLVM and MinGW are under different (and possibly 
incompatible) licenses.

If your suggestion does amount to me starting a 
"Micro-MinGW" fork of MinGW, then I would think my efforts 
would be better directed at helping to finish/implement the 
PEWriter, ELFWriter, MachOWriter in LLVM, and then that work 
would be under the LLVM license.

>> But if MinGW or Cygwin is installed, then I have no need 
>> for LLVM !!
> This is not the case.  Having MinGW/Cygwin installed != 
> having GCC installed.

Quoting Wikipedia:  "MinGW [...] is a native software port 
of the GNU Compiler Collection (GCC) to Microsoft Windows 
along with a set of freely distributable import libraries 
and header files for the Windows API"

----------------------------------

Chris Lattner wrote:
> you seem to be under the mistaken impression that 
> contributors to LLVM share you sense of priority.

No, I don't, and I never said or implied that I did --  
actually I implied the opposite if anything.

> you should contribute code to make it happen, or pay 
> someone to do so.

I will do what I can.

> Telling people that it is *now* their highest priority 
> (because *you* say so) is extremely discourteous, and 
> unlikely to produce results in your favor.

I never told anyone that.

> why do you think it is ok to have the gall to tell me that 
> my priorities are wrong?

I think it is OK because nearly all sane and professional 
people in existence say it is OK to express a differing 
opinion or disagreement, provided you don't use abusive 
words, etc.  And I didn't use any abusive words.  I said it 
in a manner that nearly everyone would consider to be 
inoffensive:

"Personally I think that a C front-end should be a much 
lower priority than delivering a COMPLETE backend."

I began my sentence with "Personally I think that..." and 
that is widely considered to be an inoffensive way of 
speaking.

> You notice that I contribute code to make my priorities 
> happen, unless you do the same, it is unlikely that your 
> notion of a "complete backend" will ever magically 
> materialize

I have been here only 3 DAYS!!  Are you haranguing me to 
contribute code after only 3 days?

>> That was an unprofessional response as well.
> How so?  What aspect is untrue?

Are you intending to ask me what aspect is unprofessional, 
or what aspect is untrue?  Those are different questions 
with different answers.  If you were intending to ask what 
aspect is untrue, then I have already explained that in a 
previous email.  I won't repeat the explanation here because 
Tanya Lattner indicated she doesn't want me to repeat it 
again.

---------------------------------

Gordon Henriksen wrote:
> And you simultaneously use your customers to justify your 
> own ignorance and demean them with the pejorative 
> "Windoze."

When I say "Windoze", I do not mean it as demeaning of 
people who use Windoze.  Rather I say "Windoze" because I 
dislike the NAME "Windows" because I think that "Windows" is 
a generic dictionary word that Microsoft should not own.  I 
demean the name of the product but not the people using the 
product.

Another product name I demean is "The Gimp".  Strange choice 
of name, considering that dictionaries say gimp means a 
person who limps, a lame person, implying the product is 
crippled/lame.

> your own postings have been and continue to be 
> presumptive, insulting, and poorly researched

I didn't insult anyone.  If there was any insulting being 
done, then it was people insulting me.  As for "poorly 
researched", it is true that I used the wrong name, but as 
Oscar Fuentes said, that is irrelevant.

> LLVM provides neither assemblers nor linkers. This is the 
> reality, and no amount of vitriol will not change it.

I wasn't delivering any vitriol.  More like I was RECEIVING 
vitriol, if anything.  Someone said that my thread was a 
"bad joke".

> You are not a customer here; there is no vendor-customer 
> relationship.

Obviously I am already aware that I have not purchased 
anything from the LLVM group.

> So when it was suggested that you write the code, it was 
> not a flip retort; in fact, such is the only way the 
> project advances.

It would be crazy to dive in and start writing LLVM code 
before discussing/debating the issues here first.

> you must keep an open mind, since the community will not 
> find you a solution within your framework if you 
> over-constrain the problem.

I do have an open mind, as previously demonstrated by my 
stated willingness and intention to support multiple 
platforms/systems, whereas some other people shun all but 
their chosen system.

> if you can do compilation at installation time, for the OS 
> X and Windows platforms there's no reason you can't do 
> compilation ahead of time

Impossible.  The customers write or modify the source code 
themselves, and then they want to compile their source code 
and run their program.  We cannot require that customers 
send their source code to us for compilation.  They need to 
be able to compile it themselves on their own computer. 
Just like how with GCC, you do not send your source code to 
the GNU people to get it compiled.  You do it yourself on 
your own computer using their product.

---------------------------------

Bill Wendling wrote:
> People mentioned a JIT as a possible alternative, but you 
> dismiss that because of some random statement by Major 
> Client.

The client is not being stupid.  Their criticism of JIT is 
understandable and sensible.

> You change and say that it's now for customer's computers.

No, I didn't change my point.  I just used a wrong name, is 
all.  As Oscar Fuentes said:

"This means that LLVM requires an assembler and linker. Call 
it GCC or binutils, it is irrelevant. The OP point is that 
LLVM is not a self-sufficient tool on this aspect."

> People say that you should (gasp) actually *build* LLVM, 
> which will give you the DLLs your Major Client so 
> desperately needs

Now you are confusing 2 separate issues involving DLLs. 
LLVM as a DLL, versus LLVM producing DLLs.

> you won't [...] patch the VC++ project files, nor even 
> submit a bug report. You just bitch and moan and call us 
> "unprofessional"

uh, I already said that I would do what I can re submitting 
patches.  I have only been here 3 days, how quickly do you 
expect a contribution?  Are you being reasonable?

If anyone is bitching and moaning, then it is you.  Look at 
all that you have written, and compare it with what Pertti 
Kellomaki said (following).  It makes you look like the one 
doing the bitching and moaning.

Pertti said in reply to me:  "Yes, that sounds like a very 
useful contribution to the project. I'm sure you could come 
up with something if you got together with other Windows 
developers in this list to hash out what needs to be done."

> No. You don't know [about JIT]. Your Major Client knows. 
> Not you. Your Major Client. I was right to doubt that you 
> knew.

I did state the reasons why I and the client do not want to 
use JIT.  And as far as I know, those reasons are valid.  If 
you think my reasons are invalid, you didn't provide any 
explanation of why you think that.

> What is this "Windoze" of which you speak?

Microsoft Windows at www.microsoft.com.

>> How do I get the necessary binutils on Windoze?  Install 
>> MinGW or Cygwin.  But if I do that, then I may as well 
>> use MinGW for everything and not bother with LLVM.
>
> You should. The GCC guys are much nicer than we are. They 
> love to answer questions such as yours.

Actually, reading the messages here, I think that the 
majority of people here are smart, sensible, mature, 
respectable people.  But unfortunately a small percentage of 
people here act like they are teenagers.

> *Feeds the troll*

I am pretty sure that all the sensible people here can see 
that if anyone is trolling, it is you, and unfortunately I 
am feeding the troll (you), so I had better stop it now.  I 
will now ignore all further messages from you, in order to 
avoid irritating the sensible people here.





More information about the llvm-dev mailing list