Sign in Join

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

Mailing lists / fpc-devel / 2006-05

problems with x86_64

4 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

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

ik

Hi,

I'm currently using Free Pascal Compiler version 2.0.2 [2005/11/12] for x86_64

I noticed that on compiler/utils/fpc.pp, the ppcbin never assigned, and "fpc -PB" only result with a path without the executible name ...

It seems that fpc never enters to the {$ifdef x86_64} .

How can I "debug" FPC to see what exactly it tries to check and enter using additional information from FPC, this is what I'm getting:

fpc.pp(121,8) IFDEF I386 found, rejected
fpc.pp(121,13) Skipping until...
fpc.pp(124,8) Handling switch "$ENDIF"
fpc.pp(124,8) ENDIF I386 found
fpc.pp(125,8) IFDEF M68K found, rejected
fpc.pp(125,13) Skipping until...
fpc.pp(128,8) Handling switch "$ENDIF"
fpc.pp(128,8) ENDIF M68K found
fpc.pp(129,8) IFDEF ALPHA found, rejected
fpc.pp(129,14) Skipping until...
fpc.pp(132,8) Handling switch "$ENDIF"
fpc.pp(132,8) ENDIF ALPHA found
fpc.pp(133,8) IFDEF POWERPC found, rejected
fpc.pp(133,16) Skipping until...
fpc.pp(136,8) Handling switch "$ENDIF"
fpc.pp(136,8) ENDIF POWERPC found
fpc.pp(137,8) IFDEF POWERPC64 found, rejected
fpc.pp(137,18) Skipping until...
fpc.pp(140,8) Handling switch "$ENDIF"
fpc.pp(140,8) ENDIF POWERPC64 found
fpc.pp(141,8) IFDEF ARM found, rejected
fpc.pp(141,12) Skipping until...
fpc.pp(144,8) Handling switch "$ENDIF"
fpc.pp(144,8) ENDIF ARM found
fpc.pp(145,8) IFDEF SPARC found, rejected
fpc.pp(145,14) Skipping until...
fpc.pp(148,8) Handling switch "$ENDIF"
fpc.pp(148,8) ENDIF SPARC found
fpc.pp(149,8) IFDEF X86_64 found, rejected
fpc.pp(149,15) Skipping until...
fpc.pp(153,8) Handling switch "$ENDIF"
fpc.pp(153,8) ENDIF X86_64 found
fpc.pp(154,8) IFDEF IA64 found, rejected
fpc.pp(154,13) Skipping until...
fpc.pp(157,8) Handling switch "$ENDIF"
fpc.pp(157,8) ENDIF IA64 found

Please ignore the line numbers because I added some code for debugging (writeln lines) to obtian the variable content on given state ...

Any idea why FPC ignores the IFDEF X86_64 instructions ?

Ido

Reply by email

Florian Klaempfl
to ik
ik wrote 12 lines
Hi, I'm currently using Free Pascal Compiler version 2.0.2 [2005/11/12] for x86_64 I noticed that on compiler/utils/fpc.pp, the ppcbin never assigned, and "fpc -PB" only result with a path without the executible name ... It seems that fpc never enters to the {$ifdef x86_64} . How can I "debug" FPC to see what exactly it tries to check and enter using additional information from FPC, this is what I'm getting:

You get only a proper fpc when build with make. The x86_64 is defined and passed by the makefile.

Show quoted text 48 lines
fpc.pp(121,8) IFDEF I386 found, rejected fpc.pp(121,13) Skipping until... fpc.pp(124,8) Handling switch "$ENDIF" fpc.pp(124,8) ENDIF I386 found fpc.pp(125,8) IFDEF M68K found, rejected fpc.pp(125,13) Skipping until... fpc.pp(128,8) Handling switch "$ENDIF" fpc.pp(128,8) ENDIF M68K found fpc.pp(129,8) IFDEF ALPHA found, rejected fpc.pp(129,14) Skipping until... fpc.pp(132,8) Handling switch "$ENDIF" fpc.pp(132,8) ENDIF ALPHA found fpc.pp(133,8) IFDEF POWERPC found, rejected fpc.pp(133,16) Skipping until... fpc.pp(136,8) Handling switch "$ENDIF" fpc.pp(136,8) ENDIF POWERPC found fpc.pp(137,8) IFDEF POWERPC64 found, rejected fpc.pp(137,18) Skipping until... fpc.pp(140,8) Handling switch "$ENDIF" fpc.pp(140,8) ENDIF POWERPC64 found fpc.pp(141,8) IFDEF ARM found, rejected fpc.pp(141,12) Skipping until... fpc.pp(144,8) Handling switch "$ENDIF" fpc.pp(144,8) ENDIF ARM found fpc.pp(145,8) IFDEF SPARC found, rejected fpc.pp(145,14) Skipping until... fpc.pp(148,8) Handling switch "$ENDIF" fpc.pp(148,8) ENDIF SPARC found fpc.pp(149,8) IFDEF X86_64 found, rejected fpc.pp(149,15) Skipping until... fpc.pp(153,8) Handling switch "$ENDIF" fpc.pp(153,8) ENDIF X86_64 found fpc.pp(154,8) IFDEF IA64 found, rejected fpc.pp(154,13) Skipping until... fpc.pp(157,8) Handling switch "$ENDIF" fpc.pp(157,8) ENDIF IA64 found Please ignore the line numbers because I added some code for debugging (writeln lines) to obtian the variable content on given state ... Any idea why FPC ignores the IFDEF X86_64 instructions ? Ido _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

ik
to Florian Klaempfl
Florian Klaempfl wrote 16 lines
ik wrote: > Hi, > > I'm currently using Free Pascal Compiler version 2.0.2 [2005/11/12] for > x86_64 > > I noticed that on compiler/utils/fpc.pp, the ppcbin never assigned, > and "fpc -PB" only result with a path without the executible name ... > > It seems that fpc never enters to the {$ifdef x86_64} . > > How can I "debug" FPC to see what exactly it tries to check and enter > using additional information from FPC, this is what I'm getting: You get only a proper fpc when build with make. The x86_64 is defined and passed by the makefile.

May I ask why does it do such things ?! Why doesn't it use the already the existed $define statments ?

Show quoted text 54 lines
> > fpc.pp(121,8) IFDEF I386 found, rejected > fpc.pp(121,13) Skipping until... > fpc.pp(124,8) Handling switch "$ENDIF" > fpc.pp(124,8) ENDIF I386 found > fpc.pp(125,8) IFDEF M68K found, rejected > fpc.pp(125,13) Skipping until... > fpc.pp(128,8) Handling switch "$ENDIF" > fpc.pp(128,8) ENDIF M68K found > fpc.pp(129,8) IFDEF ALPHA found, rejected > fpc.pp(129,14) Skipping until... > fpc.pp(132,8) Handling switch "$ENDIF" > fpc.pp(132,8) ENDIF ALPHA found > fpc.pp(133,8) IFDEF POWERPC found, rejected > fpc.pp(133,16) Skipping until... > fpc.pp(136,8) Handling switch "$ENDIF" > fpc.pp(136,8) ENDIF POWERPC found > fpc.pp(137,8) IFDEF POWERPC64 found, rejected > fpc.pp(137,18) Skipping until... > fpc.pp(140,8) Handling switch "$ENDIF" > fpc.pp(140,8) ENDIF POWERPC64 found > fpc.pp(141,8) IFDEF ARM found, rejected > fpc.pp(141,12) Skipping until... > fpc.pp(144,8) Handling switch "$ENDIF" > fpc.pp(144,8) ENDIF ARM found > fpc.pp(145,8) IFDEF SPARC found, rejected > fpc.pp(145,14) Skipping until... > fpc.pp(148,8) Handling switch "$ENDIF" > fpc.pp(148,8) ENDIF SPARC found > fpc.pp(149,8) IFDEF X86_64 found, rejected > fpc.pp(149,15) Skipping until... > fpc.pp(153,8) Handling switch "$ENDIF" > fpc.pp(153,8) ENDIF X86_64 found > fpc.pp(154,8) IFDEF IA64 found, rejected > fpc.pp(154,13) Skipping until... > fpc.pp(157,8) Handling switch "$ENDIF" > fpc.pp(157,8) ENDIF IA64 found > > Please ignore the line numbers because I added some code for debugging > (writeln lines) to obtian the variable content on given state ... > > Any idea why FPC ignores the IFDEF X86_64 instructions ? > > Ido > _______________________________________________ > fpc-devel maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-devel > _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

Jonas Maebe
to ik
ik wrote 5 lines
> You get only a proper fpc when build with make. The x86_64 is defined > and passed by the makefile. May I ask why does it do such things ?! Why doesn't it use the already the existed $define statments ?

You have to specify for which target you want to build the compiler. This is selected using a define which is unrelated to any defines for the host platform of the current compiler.

Jonas

Reply by email