GNU Pascal Homepage - gpc - gpc-announce - gpc-de - gpc-doc
Diese Seite auf deutsch

Mail #13492

Back to main page of archive

Previous mail   Next mail   Unformatted/full headers
Overview  10 days   Subject   Date   Thread   Author  

From: Adriaan van Os
Subject: -m64 on powerpc-apple-darwin8
Date: 30 Mar 2006, 23:12:22

Waldek Hebisch wrote:

> Adriaan van Os wrote:
>> Now that gpc has preliminary support for gcc-4 (thanks!) I am trying
>> to build a 64-bit libgpc.a for use with -m64 on powerpc-apple-
>> darwin8. This results in an ICE in fname.pas.
>>
>> ../.././xgpc -B../.././  -c -I. -W -Wall -Wmissing-prototypes -
>> Wmissing-declarations -g -O2 -m64   --unit-path=/Users/adriaan/gnu/
>> gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts --automake -
>> DRTS_RELEASE_STRING="'`cat /Users/adriaan/gnu/gpc/gpc-20060325/gcc-4/
>> gcc-4.0.3/gcc/p/rts/rts-version`'" -DGCC_VERSION="'4.0.3'" "/Users/
>> adriaan/gnu/gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts/random.pas"
>> ../.././xgpc -B../.././  -c -I. -W -Wall -Wmissing-prototypes -
>> Wmissing-declarations -g -O2 -m64   --unit-path=/Users/adriaan/gnu/
>> gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts --automake -
>> DRTS_RELEASE_STRING="'`cat /Users/adriaan/gnu/gpc/gpc-20060325/gcc-4/
>> gcc-4.0.3/gcc/p/rts/rts-version`'" -DGCC_VERSION="'4.0.3'" "/Users/
>> adriaan/gnu/gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts/fname.pas"
>> /Users/adriaan/gnu/gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts/
>> fname.pas: In function `InternalFSearch':
>> /Users/adriaan/gnu/gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts/
>> fname.pas:705: internal compiler error: in output_constant, at
>> varasm.c:3929
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> See <URL:http://www.gnu-pascal.de/todo.html> for instructions.
>> make[2]: *** [fname.o] Error 1
>> make[1]: *** [pascal.rts] Error 2
>> make: *** [all-gcc] Error 2
>>
>> It would be nice to have a 64-bit darwin compiler available for
>> download at some point, but it is not urgent.
>>
>
> Again, I can not reproduce the ICE. But I have noticed that I am  
> getting
> ICE when I compile using -m64 flag when there are .gpi files compiled
> using -m32. So, I wonder if you used clean directory for 64-bit  
> compilation
> (it looks that you re-used build directory directory, did you remove  
> old
> .gpi files?).

Thanks for looking into this.

Initially, my attempt to rebuild libgpc.a failed (see below), so I  
tried various ways to build the compiler with -m64 (pass env CC="gcc  
-m64" to configure or add -m64 to CFLAGS during make or make  
bootstrap). This all resulted in the error above (that was in a fresh  
build directory).

However, I now found out why my initial attempt to simply rebuild  
libgpc.a in build/gcc/p/rts failed. I typed

[G5:gcc/p/rts] adriaan% rm *.o *.gpi
[G5:gcc/p/rts] adriaan% make

or

[G5:gcc/p/rts] adriaan% rm *.o *.gpi
[G5:gcc/p/rts] adriaan% make CFLAGS="-O2 -m64"

and this results in

`echo /Users/adriaan/gpc/gpc-20060325/gcc-4/build/gcc/xgcc  
-B/Users/adriaan/gpc/gpc-20060325/gcc-4/build/gcc/  
-B/Developer/Pascal/gpc403d1/powerpc-apple-darwin8/bin/  
-B/Developer/Pascal/gpc403d1/powerpc-apple-darwin8/lib/ -isystem  
/Developer/Pascal/gpc403d1/powerpc-apple-darwin8/include -isystem  
/Developer/Pascal/gpc403d1/powerpc-apple-darwin8/sys-include  | sed  
's,^\([^ ]*[/\][^/\]*\)gcc,\1gpc,;s/^gcc$/gpc/' ` -c -I. -W -Wall  
-Wmissing-prototypes -Wmissing-declarations -O2    
--unit-path=/Users/adriaan/gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts  
--automake -DRTS_RELEASE_STRING="'`cat  
/Users/adriaan/gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts/rts- 
version`'" -DGCC_VERSION="'unknown'" --no-automake  
"/Users/adriaan/gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts/heap.pas"
/Users/adriaan/gpc/gpc-20060325/gcc-4/gcc-4.0.3/gcc/p/rts/heap.pas:38:  
error: module/unit interface `Error' could not be imported
make: *** [heap.o] Error 1

I should have typed

[G5:gcc/p/rts] adriaan% make clean
[G5:gcc/p/rts] adriaan% make

or

[G5:gcc/p/rts] adriaan% make clean
[G5:gcc/p/rts] adriaan% make CFLAGS="-O2 -m64"

and building a 64-bit libgpc.a works !

With lipo, the 32-bit and 64-bit libgpc.a can be combined into one  
"fat" libgpc.a.

[G5:~/gpc/testgpc/adriaan] adriaan% gpc hello.pas -m64
can't find atom for N_GSYM stabs Fakehighletters:G(0,7) in  
/Developer/Pascal/gpc403d1/lib/gcc/powerpc-apple-darwin8/4.0.3/ 
libgpc.a(rtsc.o)
ld64 failed: in  
/Developer/Pascal/gpc403d1/lib/gcc/powerpc-apple-darwin8/4.0.3/ 
libgcc.a(_fixtfdi.o), not a valid ppc64 mach-o file
collect2: ld returned 1 exit status

So, next I will try to build a 64-bit libgcc and combine the 32-bit and  
64-bit libgcc.a into a "fat" libgcc.a

Regards,

Adriaan van Os



Previous mail   Next mail   Unformatted/full headers
Overview  10 days   Subject   Date   Thread   Author  


Replies

Author Subject Date
Adriaan van Os -m64 on powerpc-apple-darwin8 31 Mar 2006, 00:02:24
Adriaan van Os -m64 on powerpc-apple-darwin8 1 Apr 2006, 14:00:51
Frank Heckenbach -m64 on powerpc-apple-darwin8 2 Apr 2006, 00:34:46
Frank Heckenbach -m64 on powerpc-apple-darwin8 2 Apr 2006, 00:39:07
Adriaan van Os -m64 on powerpc-apple-darwin8 2 Apr 2006, 12:34:10
Frank Heckenbach -m64 on powerpc-apple-darwin8 2 Apr 2006, 15:14:38

In reply to

Author Subject Date
Waldek Hebisch -m64 on powerpc-apple-darwin8 30 Mar 2006, 19:29:15

Back to main page of archive


Note: This page contains information that does not originate from the owner of this web site, but from the authors of the mails archived. The owner of this web site is not responsible for the content of such information. Any use of that infomation requires the consent of the respective author.

Where WWW addresses (URLs) in the mails archived are marked as hyperlinks, this is only for the comfort of the reader. The content of the web pages linked to like this does not necessarily reflect the opinion of the owner of this web site or of the authors of the mails archived. The owner of this web site is not responsible for the content of such web pages. Those pages are explicitly not to be considered as part of the content of this page, but merely as references.


This page was created by Crystal 0.999 (Linux 2.4.27/i686).