Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2007-03

Setting the compiler to always use gas

6 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Felipe Monteiro de Carvalho

Hello,

It seams that Gnu assembler does produces object files compatible with CodeWarrior Linker, and fpc internal assembler does not. So, I would like to set the symbian compiler to always use GNU As.

On i_symbian I see those lines:

            assem        : as_i386_pecoff;
            assemextern  : as_gas;

Being that the assemblers are declared like this:

     type
       tasm = (as_none
             ,as_gas                   { standard gnu assembler }
             ,as_i386_as_aout
             ,as_i386_coff
             ,as_i386_pecoff
             ,as_i386_elf32
             ,as_i386_pecoffwdosx
             ,as_m68k_mit
             ,etc

Am I write to think that as_gas means using GNU As as external assembler, and that as_i386_coff is a Internal Assembler? So, to set fpc to always use external assembler, I would change those lines to:

            assem        : as_gas;
            assemextern  : as_gas;

And if not, what is the nice way of telling fpc to always use gnu as?

thanks,

Felipe Monteiro de Carvalho

Reply by email

Leducq Dominique
to Felipe Monteiro de Carvalho

Le jeudi 15 mars 2007 16:53, Felipe Monteiro de Carvalho a écrit :

Show quoted text 34 lines
Hello, It seams that Gnu assembler does produces object files compatible with CodeWarrior Linker, and fpc internal assembler does not. So, I would like to set the symbian compiler to always use GNU As. On i_symbian I see those lines: assem : as_i386_pecoff; assemextern : as_gas; Being that the assemblers are declared like this: type tasm = (as_none ,as_gas { standard gnu assembler } ,as_i386_as_aout ,as_i386_coff ,as_i386_pecoff ,as_i386_elf32 ,as_i386_pecoffwdosx ,as_m68k_mit ,etc Am I write to think that as_gas means using GNU As as external assembler, and that as_i386_coff is a Internal Assembler? So, to set fpc to always use external assembler, I would change those lines to: assem : as_gas; assemextern : as_gas; And if not, what is the nice way of telling fpc to always use gnu as? thanks,

Doesn't it work with the -Aas flag (which tells to use GNU As assembler) ? It does for me with the x86_64 compiler.
If it does, you can put that setting into your config file to use it by default.

Dominique Leducq.

Reply by email

Florian Klaempfl
to Felipe Monteiro de Carvalho: It seams that Gnu assembler does produces object files compatible with CodeWarrior…
Show quoted text 32 lines
Hello, It seams that Gnu assembler does produces object files compatible with CodeWarrior Linker, and fpc internal assembler does not. So, I would like to set the symbian compiler to always use GNU As. On i_symbian I see those lines: assem : as_i386_pecoff; assemextern : as_gas; Being that the assemblers are declared like this: type tasm = (as_none ,as_gas { standard gnu assembler } ,as_i386_as_aout ,as_i386_coff ,as_i386_pecoff ,as_i386_elf32 ,as_i386_pecoffwdosx ,as_m68k_mit ,etc Am I write to think that as_gas means using GNU As as external assembler, and that as_i386_coff is a Internal Assembler? So, to set fpc to always use external assembler, I would change those lines to: assem : as_gas; assemextern : as_gas; And if not, what is the nice way of telling fpc to always use gnu as?

Probably correct. Just check the output of -va to see what it does.

thanks,

Reply by email

Felipe Monteiro de Carvalho
to Florian Klaempfl: Probably correct. Just check the output of -va to see what it does.
Florian Klaempfl wrote
Probably correct. Just check the output of -va to see what it does.

Almost correct:

[1.813] Assembler i386-symbian-as.exe not found, switching to external assembling
[1.813] There were 1 errors compiling module, stopping [1.873] Compilation aborted

One easy way to solve is just copying as.exe to this name. Not sure if this is good enougth or I should try to override this name on the compiler.

Felipe Monteiro de Carvalho

Reply by email

Jonas Maebe
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 13 lines
On 3/16/07, Florian Klaempfl wrote: > Probably correct. Just check the output of -va to see what it does. Almost correct: [1.813] Assembler i386-symbian-as.exe not found, switching to external assembling [1.813] There were 1 errors compiling module, stopping [1.873] Compilation aborted One easy way to solve is just copying as.exe to this name. Not sure if this is good enougth or I should try to override this name on the compiler.

Such a name is used if you are cross compiling (since you may have different cross compilers on your system which all require a different assemblers and linkers). So no, you should not try to override this name.

Jonas

Reply by email