Hello community,

here is the log from the commit of package fpc.15334 for 
openSUSE:Leap:15.2:Update checked in at 2020-12-21 14:22:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2:Update/fpc.15334 (Old)
 and      /work/SRC/openSUSE:Leap:15.2:Update/.fpc.15334.new.5145 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fpc.15334"

Mon Dec 21 14:22:35 2020 rev:1 rq:856869 version:3.2.0

Changes:
--------
New Changes file:

--- /dev/null   2020-12-09 01:05:43.965003977 +0100
+++ /work/SRC/openSUSE:Leap:15.2:Update/.fpc.15334.new.5145/fpc.changes 
2020-12-21 14:23:06.633332725 +0100
@@ -0,0 +1,276 @@
+-------------------------------------------------------------------
+Fri Sep 25 10:14:45 UTC 2020 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Add patch to fix build on ppc64le:
+  * fpc-fix-library-paths-on-ppc64.patch
+
+-------------------------------------------------------------------
+Thu Sep 24 06:30:04 UTC 2020 - Dirk Mueller <dmuel...@suse.com>
+
+- add aarch64-fpc-compilation-fix.patch: pass vfp flags to 
+  gas
+- Handle fpu initialization (bsc#1122855):
+  * add aarch64-fpu-initialization.patch: initialize fpu properly
+  * aarch64: disable bootstrap mode
+
+-------------------------------------------------------------------
+Mon Sep 21 15:02:29 UTC 2020 - Tom de Vries <tdevr...@suse.com>
+
+- Backport r46209 - "@PLT is needed for calls to link it properly
+  with pic code" [bsc#1176706]:
+  * fpc-si_c-x86_64-plt.patch
+
+-------------------------------------------------------------------
+Tue Aug 18 09:00:15 UTC 2020 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Drop '%elifarch' usage for now since it is not well supported 
+  by the source validator, see:
+  https://github.com/openSUSE/obs-service-source_validator/issues/85
+
+-------------------------------------------------------------------
+Mon Aug 17 15:38:06 UTC 2020 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Fix doc building when bootstrap is used
+
+-------------------------------------------------------------------
+Mon Aug 17 15:23:42 UTC 2020 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Fix bootstrap handling
+
+-------------------------------------------------------------------
+Tue Jun 30 08:39:31 UTC 2020 - John Paul Adrian Glaubitz 
<adrian.glaub...@suse.com>
+
+- Update to 3.2.0
+  * Changes see https://wiki.freepascal.org/User_Changes_3.2.0
+- Enable bootstrap for aarch64, ppc, ppc64, ppc64le
+  * Add bootstrap binary archives
+    + fpc-3.2.0-aarch64.zip
+    + fpc-3.2.0-ppc.zip
+    + fpc-3.2.0-ppc64.zip
+    + fpc-3.2.0-ppc64le.zip
+- Drop old git snapshot source for aarch64 build
+  * fpcbuild.zip
+- Add patch to fix library paths on aarch64
+  * fpc-fix-library-paths-on-aarch64.patch
+- Drop patches for issues fixed upstream
+  * fpc-fix_aarch64.patch
+  * update-fpcdocs.patch
+
+-------------------------------------------------------------------
+Wed Aug 28 17:56:57 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de>
+
+- Use _multibuild for building the doc subpackage. This removes e.g.
+  TeXLive, python and X11 from the dependency chain of the main package.
+- Remove noarch for doc subpackage as we need to use %ifarch
+
+-------------------------------------------------------------------
+Mon Aug 26 18:49:28 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de>
+
+- Use separate subpackages for documentation and examples, and make
+  both noarch.
+- Make PDF documentation build reproducible
+- Use tex(foo) style BuildRequires, only request what is really needed.
+- Install COPYING* in licensedir
+- Drop gpm and ncurses runtime requires (not used by the compiler,
+  but only for some of the examples).
+- Remove defattr and BuildRoot from spec file.
+
+-------------------------------------------------------------------
+Sat Mar 16 15:57:11 UTC 2019 - ter...@gmail.com
+
+- http --> https in URL
+
+-------------------------------------------------------------------
+Mon Sep 10 13:04:54 UTC 2018 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Move patches and sources out of %ifarch conditions
+
+-------------------------------------------------------------------
+Fri Sep  7 12:32:05 UTC 2018 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Remove 'fpcsrc/packages/nvapi/nvapi.pas' due to license problems
+
+-------------------------------------------------------------------
+Tue Sep  4 11:56:51 UTC 2018 - guillaume.gar...@opensuse.org
+
+- Add patch to fix aarch64 build:
+  * fpc-fix_aarch64.patch
+
+-------------------------------------------------------------------
+Tue Sep  4 07:21:34 UTC 2018 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Add aarch64 support
+
+-------------------------------------------------------------------
+Tue May 15 12:23:06 UTC 2018 - guillaume.gar...@opensuse.org
+
+- Fix %arm build
+- Add ExclusiveArch for %ix86 x86_64 %arm ppc ppc64
+
+-------------------------------------------------------------------
+Fri Dec 15 22:06:50 UTC 2017 - markus.b...@web.de
+
+- Update to 3.0.4
+  * Changes see http://wiki.freepascal.org/User_Changes_3.0.4
+
+- Added update-fpcdocs.patch to fix doc generation
+
+-------------------------------------------------------------------
+Mon Jun 27 20:03:42 UTC 2016 - ter...@gmail.com
+
+- Update to 3.0.0
+  * remove patch fpc-2.6.2-make-user.pdf-fix.patch as fixed upstream
+  * use previous fpc version instead prebuild one for build
+  * New features see http://wiki.freepascal.org/FPC_New_Features_3.0
+  * Changes see http://wiki.freepascal.org/User_Changes_3.0
+  
+-------------------------------------------------------------------
+Tue May 06 08:57:47 UTC 2014 - guilla...@opensuse.org
+
+- Add ARM support
+
+-------------------------------------------------------------------
+Mon May  5 19:17:00 UTC 2014 - mihai...@gmail.com
+
+- Update to 2.6.4 - a fixes update from the 2.6.x branch
+  The new features include, amongst others:
+  * Compiler:
+    - Improvements and fixes for the ARM architecture
+  * Packages:
+    - New package fpindexer (indexing engine)
+    - Support for observer pattern added to fcl-base (and base classes in RTL)
+    - Lots and lots fixes and improvements for fcl-db
+      * Support for JSON dataset added among others
+    - Fixes and improvements for fcl-passrc (and fpdoc)
+    - Updates for PTCPas and gtk2
+    - fpmkunit improvements (better support for future switch to fpmake)
+    - Several fixes for x11
+    - Several fixes for winunits (and winceunits)
+  * Platforms:
+    - Improvements to the NativeNT target (newly introduced as alpha in 2.6.0)
+    - Many fixes for OpenBSD and NetBSD (considered in beta state now)
+    - Internal ELF writer supported for more BSD targets
+    - Fixes and improvements for gba and nds
+
+-------------------------------------------------------------------
+Fri Apr 12 09:12:12 UTC 2013 - sv...@svalx.net
+
+- Update to 2.6.2 - a fixes update from the 2.6.x branch.
+  The new features include, amongst others:
+  * Compiler:
+    - Improvements and fixes for the ARM architecture
+  * Packages:
+    - New package fpindexer (indexing engine)
+    - Support for observer pattern added to fcl-base (and base classes in RTL)
+    - Lots and lots fixes and improvements for fcl-db
+      * Support for JSON dataset added among others
+    - Fixes and improvements for fcl-passrc (and fpdoc)
+    - Updates for PTCPas and gtk2
+    - Fpmkunit improvements (better support for future switch to fpmake)
+    - Several fixes for x11
+    - Several fixes for winunits (and winceunits)
+  * Platforms:
+    - Improvements to the NativeNT target (newly introduced as alpha in 2.6.0)
+    - Many fixes for OpenBSD and NetBSD (considered in beta state now)
+    - Internal ELF writer supported for more BSD targets
+    - Fixes and improvements for gba and nds
+- Add fpc-2.6.2-make-user.pdf-fix.patch - fix TeX broke with error when build 
user.pdf
+
+-------------------------------------------------------------------
+Sun Oct 14 17:21:30 UTC 2012 - asterios.dra...@gmail.com
+
+- Enabled debuginfo in all BuildArches.
+- Removed gpm build requirement (not needed).
+- Removed glibc runtime requirement (it's always provided).
+- Fixed some rpmlint warnings "script-without-shebang".
+- Added support for "build ID" in binaries (for debuginfo support).
+
+-------------------------------------------------------------------
+Wed Oct  3 18:03:43 UTC 2012 - asterios.dra...@gmail.com
+
+- Added texlive-float as build requirement to fix compilation in Factory.
+  Removed texlive-collection-basic (not needed anymore).
+
+-------------------------------------------------------------------
+Sun Sep 16 22:18:56 UTC 2012 - ter...@gmail.com
+
+- Update to 2.6.0 - a new major version of the Free Pascal compiler.
++++ 79 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Leap:15.2:Update/.fpc.15334.new.5145/fpc.changes

New:
----
  _multibuild
  aarch64-fpc-compilation-fix.patch
  aarch64-fpu-initialization.patch
  fpc-3.2.0-aarch64.zip
  fpc-3.2.0-ppc.zip
  fpc-3.2.0-ppc64.zip
  fpc-3.2.0-ppc64le.zip
  fpc-fix-library-paths-on-aarch64.patch
  fpc-fix-library-paths-on-ppc64.patch
  fpc-rpmlintrc
  fpc-si_c-x86_64-plt.patch
  fpc.changes
  fpc.spec
  fpcbuild-3.2.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fpc.spec ++++++
#
# spec file for package fpc
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == ""
%else
%global psuffix -%{flavor}
%endif

%ifarch ppc64le ppc64 ppc
# Bootstrap the compiler for a new architecture. Set this to 0 after we've 
bootstrapped.
%bcond_without bootstrap
%else
%bcond_with bootstrap
%endif

%ifarch %arm
# We use hardfloat on ARM
%define fpcopt -dFPC_ARMHF -k--build-id -k-z -knoexecstack
%else
%ifarch ppc64le
%define fpcopt -Cb- -Caelfv2 -k--build-id -k-z -knoexecstack
%else
%define fpcopt -k--build-id -k-z -knoexecstack
%endif
%endif
%define fpcdebugopt -gl

%ifarch aarch64
%define ppcname ppca64
%endif
%ifarch %arm
%define ppcname ppcarm
%endif
%ifarch ppc
%define ppcname ppcppc
%endif
%ifarch x86_64
%define ppcname ppcx64
%endif
%ifarch ppc64le
%define ppcname ppcppc64
%endif
%ifarch ppc64
%define ppcname ppcppc64
%endif
%ifarch %ix86
%define ppcname ppc386
%endif

Name:           fpc%{?psuffix}
Version:        3.2.0
Release:        0
%if "%{flavor}" == ""
Summary:        Free Pascal Compiler
License:        GPL-2.0-or-later AND LGPL-2.1-or-later
Group:          Documentation/Other
%else
Summary:        Freepascal Compiler documentation
License:        GPL-2.0-or-later AND LGPL-2.1-or-later
Group:          Documentation/Other
%endif
URL:            https://www.freepascal.org/
Source:         fpcbuild-%{version}.tar.gz
Source1:        fpc-3.2.0-aarch64.zip
Source2:        fpc-3.2.0-ppc64le.zip
Source3:        fpc-3.2.0-ppc64.zip
Source4:        fpc-3.2.0-ppc.zip
Source90:       fpc-rpmlintrc
Patch0:         fpc-fix-library-paths-on-aarch64.patch
Patch1:         fpc-si_c-x86_64-plt.patch
Patch2:         aarch64-fpc-compilation-fix.patch
# From 
https://github.com/graemeg/freepascal/commit/aad68409bec902e39f9292930238edd32dbc5ac7
Patch3:         aarch64-fpu-initialization.patch
Patch4:         fpc-fix-library-paths-on-ppc64.patch
BuildRequires:  binutils
%if 0%{?suse_version}
BuildRequires:  fdupes
%endif
%if %{without bootstrap}
BuildRequires:  fpc
%else
%if "%{flavor}" == "doc"
BuildRequires:  fpc
%else
BuildRequires:  unzip
%endif
%endif
BuildRequires:  glibc-devel
%if "%{flavor}" == "doc"
BuildRequires:  texlive-latex
BuildRequires:  texlive-makeindex
BuildRequires:  texlive-pdftex
BuildRequires:  texlive-ucs
BuildRequires:  tex(8r.enc)
BuildRequires:  tex(a4.sty)
BuildRequires:  tex(enumitem.sty)
BuildRequires:  tex(fancyhdr.sty)
BuildRequires:  tex(float.sty)
BuildRequires:  tex(hyperref.sty)
BuildRequires:  tex(pcrr8t.tfm)
BuildRequires:  tex(phvr8t.tfm)
BuildRequires:  tex(ptmr8t.tfm)
BuildRequires:  tex(syntax.sty)
BuildRequires:  tex(tabularx.sty)
BuildRequires:  tex(times.sty)
%endif
Requires:       binutils
ExclusiveArch:  %ix86 x86_64 %arm aarch64 ppc ppc64 ppc64le

%if "%{flavor}" == ""
%description
Freepascal is a free 32/64bit Pascal Compiler. It comes with a run-time
library and is fully compatible with Turbo Pascal 7.0 and nearly Delphi
compatible. Some extensions are added to the language, like function
overloading and generics. Shared libraries can be linked. This package
contains commandline compiler and utils. Provided units are the runtime
library (RTL), free component library (FCL) and the base and extra
packages.

%else
%description
The fpc-doc package contains the documentation PDF files.

%endif

%package examples 
Summary:        Freepascal Compiler examples
Group:          Documentation/Other
BuildArch:      noarch

%description examples
The fpc-examples package contains examples for Freepascal.

%package src
Summary:        Freepascal Compiler - sources
Group:          Development/Languages/Other

%description src
The fpc-src package contains the sources of Freepascal, for
documentation or automatical-code generation purposes.

%prep
%setup -q -n fpcbuild-%{version}
%patch0 -p1
%patch1 -p0
%patch2 -p1
%patch3 -p1
%patch4 -p1

%if %{with bootstrap}
%if "%{flavor}" == ""
%ifarch aarch64
unzip %{SOURCE1}
%endif
%ifarch ppc64le
unzip %{SOURCE2}
%endif
%ifarch ppc64
unzip %{SOURCE3}
%endif
%ifarch ppc
unzip %{SOURCE4}
%endif
%endif
%endif

# Remove files with license problems (which are not used on Linux)
rm -f fpcsrc/packages/nvapi/src/nvapi.pas

# Copy needed source files by external packages in a new directory (to be 
included in the fpc-src subpackage)
install -dm 0755 fpc-src
cp -a fpcsrc/rtl fpc-src
cp -a fpcsrc/packages fpc-src
find fpc-src -name '*.o' | xargs rm -f
rm -rf fpc-src/packages/extra/amunits
rm -rf fpc-src/packages/extra/winunits

# Inject reproducible date into PDF documentation
date --date=@${SOURCE_DATE_EPOCH:-0} +'\date{%B %Y}' > fpcdocs/date.inc

%build
%if "%{flavor}" == ""
%if %{with bootstrap}
STARTPP=$(pwd)/fpc-%{version}-%{_arch}/bin/%{ppcname}
%else
STARTPP=%{ppcname}
%endif

pushd fpcsrc

FPCDIR=
NEWPP=`pwd`/compiler/%{ppcname}

make %{?_smp_mflags} compiler_cycle FPC=${STARTPP} OPT='%{fpcopt} 
%{fpcdebugopt}'
make %{?_smp_mflags} rtl_clean rtl_smart FPC=${NEWPP} OPT='%{fpcopt}'
make %{?_smp_mflags} packages_smart \
                FPC=${NEWPP} OPT='%{fpcopt}'
make %{?_smp_mflags} utils_all \
     FPC=${NEWPP} OPT='%{fpcopt} %{fpcdebugopt}'
popd

%else
make -C fpcdocs pdf FPC=fpc
%endif

%install
# Make available built binaries
%if "%{flavor}" == ""
export PATH=$PATH:%{buildroot}%{_bindir}
pushd fpcsrc
FPCDIR=
NEWPP=`pwd`/compiler/%{ppcname}
INSTALLOPTS="FPC=${NEWPP} \
        INSTALL_PREFIX=%{buildroot}%{_prefix} \
        INSTALL_LIBDIR=%{buildroot}%{_libdir} \
        INSTALL_BASEDIR=%{buildroot}%{_libdir}/%{name}/%{version} \
        CODPATH=%{buildroot}%{_libdir}/%{name}/lexyacc \
        INSTALL_DOCDIR=%{buildroot}%{_defaultdocdir}/%{name} \
        INSTALL_BINDIR=%{buildroot}%{_bindir}
        INSTALL_EXAMPLEDIR=%{buildroot}%{_defaultdocdir}/%{name}/examples"

make compiler_distinstall ${INSTALLOPTS}
make utils_distinstall    ${INSTALLOPTS}
make rtl_distinstall      ${INSTALLOPTS}
make packages_distinstall ${INSTALLOPTS}
popd

pushd install
        make -C doc ${INSTALLOPTS}
        make -C man ${INSTALLOPTS} INSTALL_MANDIR=%{buildroot}%{_mandir}
popd

# create link
ln -sf ../%{_lib}/%{name}/%{version}/%{ppcname} 
%{buildroot}%{_bindir}/%{ppcname}

# create a version independent config
FPCMKCFGBIN=%{buildroot}%{_prefix}/bin/fpcmkcfg
FPCPATH=%{_libdir}/fpc/`$NEWPP -iV`
SYSFPDIRBASE=%{buildroot}%{_libdir}/fpc/`$NEWPP -iV`/ide/text
${FPCMKCFGBIN} -p -d "basepath=$FPCPATH" -o %{buildroot}%{_sysconfdir}/fpc.cfg
${FPCMKCFGBIN} -p -1 -d "basepath=$FPCPATH" -o ${SYSFPDIRBASE}/fp.cfg
${FPCMKCFGBIN} -p -2 -o ${SYSFPDIRBASE}/fp.ini
${FPCMKCFGBIN} -p -3 -d CompilerConfigDir=%{_sysconfdir}/fppkg -o 
%{buildroot}%{_sysconfdir}/fppkg.cfg
${FPCMKCFGBIN} -p -4 -d "GlobalPrefix=$FPCGLOBALPREFIX" -o 
%{buildroot}%{_sysconfdir}/fppkg/default
# Add support for "build ID" in binaries (for debuginfo support)
echo -e \
"\n# ----------------------\n\
# Use BuildId by default\n\
# ----------------------\n\
-k--build-id" >> %{buildroot}%{_sysconfdir}/fpc.cfg

# include the COPYING-information for the compiler/rtl/fcl in the documentation
install -m 644 -D fpcsrc/compiler/COPYING.txt 
%{buildroot}%{_licensedir}/%{name}/COPYING
install -m 644 -D fpcsrc/rtl/COPYING.txt 
%{buildroot}%{_licensedir}/%{name}/COPYING.rtl
install -m 644 -D fpcsrc/rtl/COPYING.FPC 
%{buildroot}%{_licensedir}/%{name}/COPYING.FPC

mv 
%{buildroot}%{_defaultdocdir}/%{name}/../../%{name}-%{version}/ide/readme.ide 
%{buildroot}%{_defaultdocdir}/%{name}/readme.ide
mv %{buildroot}%{_defaultdocdir}/%{name}/../../%{name}-%{version} 
%{buildroot}%{_defaultdocdir}/%{name}/examples
# Install source files needed by external packages
cp -a fpc-src/ %{buildroot}%{_datadir}/fpcsrc/

# delete lexyacc
rm -rf %{buildroot}%{_libdir}/%{name}/lexyacc

chmod 755 %{buildroot}%{_datadir}/fpcsrc/packages/ibase/scripts/mkdb
chmod 644 %{buildroot}%{_datadir}/fpcsrc/packages/iconvenc/src/iconvenc.pas
chmod 644 %{buildroot}%{_datadir}/fpcsrc/packages/iconvenc/examples/iconvtest.pp
chmod 755 %{buildroot}%{_datadir}/fpcsrc/packages/libc/scripts/h2p
chmod 755 %{buildroot}%{_datadir}/fpcsrc/packages/mysql/scripts/rmdb
chmod 755 %{buildroot}%{_datadir}/fpcsrc/packages/postgres/scripts/mkdb
chmod 755 %{buildroot}%{_datadir}/fpcsrc/packages/postgres/scripts/rmdb
chmod 755 %{buildroot}%{_datadir}/fpcsrc/packages/xforms/scripts/doc2p
chmod 755 %{buildroot}%{_datadir}/fpcsrc/rtl/freebsd/*/identpatch.sh
chmod 755 %{buildroot}%{_datadir}/fpcsrc/rtl/netware/convertimp

%if 0%{?suse_version}
%fdupes -s %{buildroot}%{_datadir}/fpcsrc
%fdupes -s %{buildroot}%{_libdir}/%{name}
%endif

%else
make -C fpcdocs pdfinstall \
        FPC=fpc \
        INSTALL_DOCDIR=%{buildroot}%{_defaultdocdir}/fpc
%endif

%if "%{flavor}" == ""
%files
%license %{_licensedir}/%{name}
%dir %{_defaultdocdir}/%{name}/
%doc %{_defaultdocdir}/%{name}/NEWS
%doc %{_defaultdocdir}/%{name}/README
%doc %{_defaultdocdir}/%{name}/readme.ide
%doc %{_defaultdocdir}/%{name}/faq*
%doc %{_mandir}/*/*
%config(noreplace) %{_sysconfdir}/%{name}.cfg
%config(noreplace) %{_sysconfdir}/fppkg.cfg
%dir %{_sysconfdir}/fppkg
%config(noreplace) %{_sysconfdir}/fppkg/default
%{_bindir}/*
%{_libdir}/libpas2jslib.so*
%{_libdir}/%{name}/
%ifarch x86_64 aarch64 ppc64 ppc64le
/usr/lib/%{name}/
%endif

%files examples
%docdir %{_defaultdocdir}/%{name}
%dir %{_defaultdocdir}/%{name}/examples
%doc %{_defaultdocdir}/%{name}/examples/*

%files src
%dir %{_datadir}/fpcsrc
%{_datadir}/fpcsrc/*

%else
%files
%docdir %{_defaultdocdir}/fpc
%doc %{_defaultdocdir}/fpc/*.pdf
%endif

%changelog
++++++ _multibuild ++++++
<multibuild>
  <package>doc</package>
</multibuild>
++++++ aarch64-fpc-compilation-fix.patch ++++++
--- fpcbuild-3.2.0/fpcsrc/compiler/arm/agarmgas.pas     (Revision 46921)
+++ fpcbuild-3.2.0/fpcsrc/compiler/arm/agarmgas.pas     (Revision 46922)
@@ -105,6 +105,12 @@
         result:=inherited MakeCmdLine;
         if (current_settings.fputype = fpu_soft) then
           result:='-mfpu=softvfp '+result;
+        if (current_settings.fputype = fpu_fpa) then
+          result:='-mfpu=fpa '+result;
+        if (current_settings.fputype = fpu_fpa10) then
+          result:='-mfpu=fpa10 '+result;
+        if (current_settings.fputype = fpu_fpa11) then
+          result:='-mfpu=fpa11 '+result;
         if (current_settings.fputype = fpu_vfpv2) then
           result:='-mfpu=vfpv2 '+result;
         if (current_settings.fputype = fpu_vfpv3) then

++++++ aarch64-fpu-initialization.patch ++++++
--- fpcbuild-3.2.0/fpcsrc/compiler/aarch64/cgcpu.pas    2018-12-13 
19:27:26.000000000 +0100
+++ fpcbuild-3.2.0/fpcsrc/compiler/aarch64/cgcpu.pas    2020-09-24 
09:53:53.047492225 +0200
@@ -980,6 +980,7 @@
             { Notify the register allocator that we have written a move
               instruction so it can try to eliminate it. }
             add_move_instruction(instr);
+            { FMOV cannot generate a floating point exception }
           end
         else
           begin
--- fpcbuild-3.2.0/fpcsrc/rtl/aarch64/aarch64.inc       2015-02-23 
23:54:03.000000000 +0100
+++ fpcbuild-3.2.0/fpcsrc/rtl/aarch64/aarch64.inc       2020-09-24 
13:52:50.744053033 +0200
@@ -50,26 +50,46 @@
     mrs x0,fpsr
   end;
 
+const
+  FPSR_IOC = 1;
+  FPSR_DZC = 1 shl 1;
+  FPSR_OFC = 1 shl 2;
+  FPSR_UFC = 1 shl 3;
+  FPSR_IXC = 1 shl 4;
+  FPSR_IDC = 1 shl 7;
+  FPSR_EXCEPTIONS = FPSR_IOC or FPSR_DZC or FPSR_OFC or FPSR_UFC or FPSR_IXC 
or FPSR_IDC;
 
 procedure setfpsr(val: dword); nostackframe; assembler;
   asm
     msr fpsr, x0
   end;
 
-
-procedure fpc_enable_fpu_exceptions;
+{$define FPC_SYSTEM_HAS_SYSINITFPU}
+procedure SysInitFPU;
   begin
+    softfloat_rounding_mode:=rmNearest;
+    { 0 is rmNearest }
+    setfpcr(getfpcr and $ff3fffff);
     { clear all "exception happened" flags we care about}
-    setfpsr(getfpsr and not(fpu_exception_mask shr 
fpu_exception_mask_to_status_mask_shift));
-    { enable invalid operations and division by zero exceptions. }
-    setfpcr(getfpcr or fpu_exception_mask);
+     setfpsr(getfpsr and not(fpu_exception_mask shr 
fpu_exception_mask_to_status_mask_shift));
+     { enable invalid operations and division by zero exceptions. }
+    setfpcr(((getfpcr and not(fpu_exception_mask)) or fpu_dze or fpu_ofe or 
fpu_ioe));
+    
softfloat_exception_mask:=[float_flag_underflow,float_flag_inexact,float_flag_denormal];
+    softfloat_exception_flags:=[];
   end;
 
+{$define FPC_SYSTEM_HAS_SYSRESETFPU}
+Procedure SysResetFPU;{$ifdef SYSTEMINLINE}inline;{$endif}
+begin
+  softfloat_exception_flags:=[];
+  setfpsr(getfpsr and not(FPSR_EXCEPTIONS));
+end;
+
 procedure fpc_cpuinit;
   begin
     { don't let libraries influence the FPU cw set by the host program }
     if not IsLibrary then
-      fpc_enable_fpu_exceptions;
+      SysInitFPU;
   end;
 
 
++++++ fpc-fix-library-paths-on-aarch64.patch ++++++
diff -Nru fpcbuild-3.2.0.orig/fpcsrc/compiler/systems/t_linux.pas 
fpcbuild-3.2.0/fpcsrc/compiler/systems/t_linux.pas
--- fpcbuild-3.2.0.orig/fpcsrc/compiler/systems/t_linux.pas     2019-12-05 
21:11:43.000000000 +0100
+++ fpcbuild-3.2.0/fpcsrc/compiler/systems/t_linux.pas  2020-06-25 
18:33:04.362536867 +0200
@@ -142,8 +142,15 @@
         
LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib64;=/usr/lib64;=/usr/X11R6/lib64',true)
       else
         
LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib64;=/usr/lib/powerpc64le-linux-gnu;=/usr/X11R6/powerpc64le-linux-gnu',true);
-{$else powerpc64}
+{$else}
+{$ifdef aarch64}
+      LibrarySearchPath.AddLibraryPath(sysrootpath,'=/usr/lib',true);
+      LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib',true);
+      LibrarySearchPath.AddLibraryPath(sysrootpath,'=/usr/lib64',true);
+      LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib64',true);
+{$else}
       
LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib;=/usr/lib;=/usr/X11R6/lib',true);
+{$endif aarch64}
 {$endif powerpc64}
 {$endif x86_64}
 
@@ -223,7 +230,7 @@
 {$endif arm}
 
 {$ifdef aarch64}
-const defdynlinker='/lib/ld-linux-aarch64.so.1';
+const defdynlinker='/lib64/ld-linux-aarch64.so.1';
 {$endif aarch64}
 
 {$ifdef mips}
++++++ fpc-fix-library-paths-on-ppc64.patch ++++++
--- fpcbuild-3.2.0/fpcsrc/compiler/systems/t_linux.pas.orig     2020-09-25 
07:43:31.880558566 +0000
+++ fpcbuild-3.2.0/fpcsrc/compiler/systems/t_linux.pas  2020-09-25 
07:55:16.789263339 +0000
@@ -141,7 +141,7 @@ begin
       if target_info.abi<>abi_powerpc_elfv2 then
         
LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib64;=/usr/lib64;=/usr/X11R6/lib64',true)
       else
-        
LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib64;=/usr/lib/powerpc64le-linux-gnu;=/usr/X11R6/powerpc64le-linux-gnu',true);
+        
LibrarySearchPath.AddLibraryPath(sysrootpath,'=/lib64;=/usr/lib64;=/usr/X11R6/lib64',true);
 {$else}
 {$ifdef aarch64}
       LibrarySearchPath.AddLibraryPath(sysrootpath,'=/usr/lib',true);
++++++ fpc-rpmlintrc ++++++
addFilter("statically-linked-binary")
addFilter("shlib-policy-name-error")

addFilter("devel-file-in-non-devel-package .*/fpc/.*/units/.*-linux/.*.a")
addFilter("devel-file-in-non-devel-package .*/fpcsrc/.*/.*.a")
addFilter("devel-file-in-non-devel-package .*/fpcsrc/.*/.*.c")
addFilter("devel-file-in-non-devel-package .*/fpcsrc/.*/.*.cpp")
addFilter("devel-file-in-non-devel-package .*/fpcsrc/.*/.*.h")
++++++ fpc-si_c-x86_64-plt.patch ++++++
Index: fpcsrc/rtl/linux/x86_64/si_c.inc
===================================================================
--- fpcsrc/rtl/linux/x86_64/si_c.inc    (revision 46208)
+++ fpcsrc/rtl/linux/x86_64/si_c.inc    (revision 46209)
@@ -86,7 +86,7 @@
 
     { start the program }
     xorq    %rbp,%rbp
-    call    PASCALMAIN
+    call    PASCALMAIN@PLT
 {$endif FPC_HAS_INDIRECT_ENTRY_INFORMATION}
     hlt
   end;
@@ -162,7 +162,7 @@
 
     { Call the user's main function, and exit with its value.
      But let the libc call main.    }
-    call libc_start_main
+    call libc_start_main@PLT
 
     hlt                     { Crash if somehow `exit' does return.  }
   end;
_______________________________________________
openSUSE Commits mailing list -- commit@lists.opensuse.org
To unsubscribe, email commit-le...@lists.opensuse.org
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives: 
https://lists.opensuse.org/archives/list/commit@lists.opensuse.org

Reply via email to