[fpc-pascal] ppc64le ABI problem

tobiasgiesen at gmail.com tobiasgiesen at gmail.com
Tue Aug 27 20:09:40 CEST 2019


Hello,

here's a minimal Pascal program to call XGetWindowProperty:
https://www.syncovery.com/minimalxtest.pas

Cheers,
Tobias

----

On Mon, 26 Aug 2019 23:22:01 +0200
Pierre Muller <pierre at freepascal.org> wrote:

> 
> 
> Le 26/08/2019 à 22:46, tobiasgiesen at gmail.com a écrit :
> > Hi Jonas,
> > 
> > fantastic, that looks great. I think now I can just wait until Pierre
> > Muller's snapshot is updated :=)
> 
> 
>   As I followed the thread, I made a special issue for you,
> you should find the new snapshot of ftp site:
> 
> 
> $ cat  ftp/snapshot/trunk/powerpc64-linux/README-powerpc64-linux
> This  snapshot was generated 2019-08-26 using:
> make distclean singlezipinstall SNAPSHOT=1 NOGDB=1 DEBUG=1 NOWPOCYCLE=1 OPT=" -Fl/usr/lib64 -Fl/lib64 -Fd -Fl/usr/lib/gcc/ppc64le-redhat-linux/4.8.5"
> started using /home/muller/pas/fpc-3.3.1/bin/ppcppc64
> ppcppc64 -iVDW output is: 3.3.1 2019/08/26 3.3.1
> 
> uname -a of the machine is:
> Linux gcc2-power8.osuosl.org 3.10.0-957.10.1.el7.ppc64le #1 SMP Thu Mar 14 11:25:48 GMT 2019 ppc64le ppc64le ppc64le GNU/Linux
> 
> "svnversion -c ." output is: 1:1415
> 
> "svnversion -c fpcsrc" output is: 1:42841M
> 
> Enjoy,
> 
> Pierre Muller
> 
> PS: note that I do have local modifications that I did not have time to really check...
> Most are probably not significant, but:
> 
> [muller at gcc2-power8 fpcsrc]$ svn diff
> Index: rtl/linux/ostypes.inc
> ===================================================================
> --- rtl/linux/ostypes.inc       (revision 42841)
> +++ rtl/linux/ostypes.inc       (working copy)
> @@ -170,8 +170,8 @@
>     FLock     = Record
>                  l_type  : cshort;       { lock type: read/write, etc. }
>                  l_whence: cshort;       { type of l_start }
> -                l_start : kernel_off_t; { starting offset }
> -                l_len   : kernel_off_t; { len = 0 means until end of file }
> +                l_start : off_t;        { starting offset }
> +                l_len   : off_t;        { len = 0 means until end of file }
>                  l_pid   : pid_t;        { lock owner }
>  {$if defined(cpusparc) or defined(cpusparc64)}
>                  __pad   : cshort;
> @@ -386,7 +386,7 @@
>    RLIMIT_LOCKS = 10;    { maximum file locks held  }
> 
>  type
> -  rlim_t = cULong;
> +  rlim_t = cULongLong;
>    PRLimit = ^TRLimit;
>    TRLimit = record
>      rlim_cur : rlim_t;
> Index: rtl/linux/powerpc/stat.inc
> ===================================================================
> --- rtl/linux/powerpc/stat.inc  (revision 42841)
> +++ rtl/linux/powerpc/stat.inc  (working copy)
> @@ -35,9 +35,9 @@
>          st_rdev   : culonglong;
>          __pad2_    : cushort;
>          st_size   : clonglong;
> -        st_blksize: clong;
> +        st_blksize: blksize_t;
> 
> -        st_blocks : clonglong;
> +        st_blocks : culonglong;
>          st_atime  : clong;
>          st_atime_nsec : culong;
>          st_mtime  : clong;
> Index: rtl/linux/powerpc64/stat.inc
> ===================================================================
> --- rtl/linux/powerpc64/stat.inc        (revision 42841)
> +++ rtl/linux/powerpc64/stat.inc        (working copy)
> @@ -43,5 +43,7 @@
>        st_mtime_nsec : cULong;
>        st_ctime : cULong;
>        st_ctime_nsec : cULong;
> -      __unused : array[0..2] of cULong;
> +      __unused4 : culong;
> +      __unused5 : culong;
> +      __unused6 : culong;
>    end;
> Index: rtl/linux/ptypes.inc
> ===================================================================
> --- rtl/linux/ptypes.inc        (revision 42841)
> +++ rtl/linux/ptypes.inc        (working copy)
> @@ -206,7 +206,7 @@
>      bfree,             { free blocks in system }
>      bavail,            { Available free blocks to non-root users }
>      files,             { File nodes in system }
> -    ffree   : culong;  { Free file nodes in system }
> +    ffree   :{$ifdef cpupowerpc}culonglong{$else}culong{$endif};  { Free file nodes in system }
>      fsid    : array[0..1] of cint;          { File system ID }
>      namelen,           { Maximum name length in system }
>      frsize  : cint;
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Kind Regards,
Tobias Giesen

Super Flexible Software GmbH & Co. KG
Buddenstr. 29-31
48143 Münster, Germany
www.superflexible.com
www.tgtools.com

-----------------------------------------------------------
Registered at register court Münster as HRA 9716
Liability / general partner: TGTools GmbH
Registered at register court Münster as HRB 17763
Directors: Tobias Giesen and Claudia Giesen



More information about the fpc-pascal mailing list