[Libreoffice-commits] core.git: Changes to 'private/tml/lov-7.0.3.3'
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Sat Dec 5 07:59:39 UTC 2020
New branch 'private/tml/lov-7.0.3.3' available with the following commits:
commit 5037140059140a9027b7242c41883e90893374b5
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Oct 29 15:45:01 2020 +0000
fix --disable-pdfium build
Change-Id: I580972220bc39abe16288fa62c717e4ab25833d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105015
Tested-by: Jenkins
Tested-by: René Engelhard <rene at debian.org>
Reviewed-by: René Engelhard <rene at debian.org>
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
commit 7c0cac16aaff0c1722e1c6525631b0a2f7b7b65f
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Dec 2 11:14:19 2020 +0100
external/firebird: Fix checks for null HANDLE in Windows-only code
Change-Id: I428bbdae91eaf69df43ae054a95e8da3fb1aa7dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107056
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit 6c4ec8adf22e8f81e694697a0855d5f0a35c0e8c
Author: Tor Lillqvist <tml at iki.fi>
Date: Fri Nov 27 00:41:00 2020 +0200
Fix Firebird build on macOS on arm64
Must set RAW_DEVICES_FLG=N for this architecture, too. Make the
prefix.darwin_arm64 match the x86_64 one. Don't bother defining ARM64,
just check for __aarch64__.
Change-Id: I9de67493cb159ce97a46cdd1974b04753518c703
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106716
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
commit ad93b8693143169954b2688e399424a2532f25b3
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 24 08:22:51 2020 +0100
New UBSan failures with Firebird 3.0.7
While building ExternalProject_firebird: For one, the ICU UCHAR_TYPE mismatch
> workdir/UnpackedTarball/firebird/src/intl/cs_icu.cpp:66:30: runtime error: call to function ucnv_fromUChars_68 through pointer to incorrect function type 'int (*)(UConverter *, char *, int, const unsigned short *, int, UErrorCode *)'
from 61411db9f719d793f0665a4d278e0748e8fcd75f "external/firebird: ICU_UCHAR_TYPE
breaks -fsanitize=function" returned in a slightly different form. Instead of
passing in the problematic UCHAR_TYPE macro from
external/firebird/ExternalProject_firebird.mk, Firebird now set it internally in
src/common/common.h. And for another, it grew a new invalid-shift-base at
> workdir/UnpackedTarball/firebird/src/yvalve/gds.cpp:2564:33: runtime error: left shift of negative value -1
(And beyond that there were no further new ASan/UBSan issues with a full `make
check screenshot`.)
Change-Id: Ie15cf6bde2df7dc784fec89045026f71747aa0bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106477
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit b23f6e28c937c81855a8ec175c64256ffcaa3e30
Author: Julien Nabet <serval2412 at yahoo.fr>
Date: Fri Nov 13 18:45:29 2020 +0100
firebird: update to 3.0.7
This tries to get rid of a lot of cruft from older builds and it
also aims to build as much as possible on Windows.
The firebird-cygwin-msvc-warnings.patch should be optional. It
gets rid of various compiler warnings on Windows, either by
disableing or fixing them:
- fix: D9002 - ignoring unknown option '-fno-rtti'
- fix: D9024 - unrecognized source file type <filename>, object
file assumed
- ign: C4291 - <declaration>: no matching operator delete found;
memory will not be freed if initialization throws an exception
- ign: C4477 - <function>: format string <string> requires an
argument of type <type>, but variadic argument number has
type <type>
And I explicitly got rid of the "win32" handling and simply use
arch depending patches on Windows, which strips additional stuff.
sberg adds: I have no idea how in an upstream macOS build the empbuild
executible in gen/examples should now find @rpath/lib/libfbclient.dylib, as it
does not have an RPATH set. So add an appropriate one in
external/firebird/firebird-macosx.patch.1's patch of
builds/posix/Makefile.in.examples (which needs to know whether we do a Debug or
a Release build; an attempt of using firebird's $(IsDeveloper) for that caused
other failures, see bca0dc97bf3d1348c928bdaf4964524374835823 "Revert
'external/firebird: Pass --enable-developer into configure'", so use LO's
$(ENABLE_DEBUG) and rely on that being exported from LO's make into firebird's
make). Also, the fbclient and Engine12 dylibs now have RPATHs set which we do
not need in LO (where we still stick to our general use of @loader_path), so
drop them in external/firebird/ExternalProject_firebird.mk (even though leaving
them in should be harmless).
Change-Id: Id34bb88900d15f89adda03e34af2ac3d4f6aa085
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105440
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit ade1476eb487fda0db2c1009af193ced5f7a4658
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Nov 15 19:57:48 2020 +0100
firebird: build fixes (incl. parallel build)
The main idea is to get rid of the "unset MAKEFLAGS". AFAI can
see, the whole CPU stuff isn't used anymore. So we can drop the
whole FB_CPU_ARG handling. Since LO doesn't use any of make's
implicit rules, the build breaks, but luckily it just requires a
single rule for the btyacc build - just a Firebuild build tool.
Then there is the whole broken handling of LIBTOMMATH and
LIBATOMIC_OPS already in LO's configure.ac. I don't know if any
internal build of Firebird with these as system libs would work.
I guess people either have a system Firebird or also build with
internal libtommath and libatomic_ops. This fixes just the
obvious errors. I didn't try to build it, so there might still
be typos (TBH I thought hard about just dropping the system
build of these libraries, after seeing the broken configure.ac).
And I'm not sure our / the system boost preprocessor library is
ever used over the Firebird-internal copy. It also looks like
it's also just used in an other build tool and nothing of the
Firebird DB itself depends on it.
Then there is the movement of the install_name_tool / otool
patching on MacOS from the patch into the ExternalProject to
further shrink the patches, as the build doesn't depend on it.
This also introduces a different debug build mode for the
gcc-/g++-wrapper: MSVC_USE_INDIVIDUAL_PDBS.
It uses -Fd to write a separate PDB per output file instead of
using -FS to use sync writes to a single PDB, which might work
around the PDB access failures seen by Jenkins for linking
executables. In theory it's also faster and should work with all
the other wrapper users, but I don't want to open that can of
additional build errors (yet), for eventually marginal gains.
Change-Id: I8d4c5d2f17def9e840a67ef1004787e8baaffa83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105902
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
commit 6dc9894b30bb3b682b365afd97cdc17c28bd2877
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Nov 16 19:29:04 2020 +0000
Make firebird build for macOS on arm64
No idea whether it works.
Change-Id: I008cf9fab56bedb2e1f33ad6a99c9cd95d7483a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106024
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
commit 2878a7b3ab242c6ea501d7c8531100c4fc29a828
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Mon Nov 16 11:31:54 2020 +0100
firebird: fix Thread handle type on Windows
MSVC compiler complains about 'warning C4312: "reinterpret_cast":
conversion from "unsigned long" to "HANDLE" of greater size'.
Seems like an real error, if real_handle is too small to hold the
full "HANDLE" value, returned by _beginthreadex.
Upstream strangely just fixed in master, not B3_0_Release branch.
Change-Id: I87ad263529e119f68da976245646bf8b69efd35a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105924
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
commit e987102f34276ed9534550e2753cc65eca12a55b
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Nov 16 15:22:55 2020 +0100
Modify the non-symlink libfbclient.dylib.3.0.0
At least in my --enable-debug build,
workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib originally contains
libfbclient.dylib -> libfbclient.dylib.2
libfbclient.dylib.2 -> libfbclient.dylib.3.0.0
libfbclient.dylib.3.0.0
so if we modify libfbclient.dylib with install_name_tool, it will break the
symlink and modify libfbclient.dylib but not libfbclient.dylib.3.0.0---where the
latter is what gets delivered via external/firebird/ExternalPackage_firebird.mk.
(This didn't cause any issues, though, because gb_LinkTarget__use_libfbembed in
RepositoryExternal.mk links against the modified libfbclient.dylib in workdir,
not against the delivered libfbclient.dylib.3.0.0, so e.g. Library_firebird_sdbc
did already contain the correct @loader_path/libfbclient.dylib.3.0.0 reference.
Also, the `install_name_tool -id` treatment of libEngine12.dylib in
external/firebird/firebird-macosx.patch.1 should not technically be necessary,
as nothing links against that library; but if left unmodified, it would record
the build machine's
/full-path-to/workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.dylib
so better "clean it up". Also, the `install_name_tool -change` treatment of
libEngine12.dylib in external/firebird/firebird-macosx.patch.1 is necessary
because otherwise it would record a full-path dependency to
/full-path-to/workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.dylib.3.0.0
which macosx-change-install-names.pl, called from MAKE_POST in
external/firebird/ExternalProject_firebird.mk, would not adjust. With all those
modifications in external/firebird/firebird-macosx.patch.1, the call to
macosx-change-install-names.pl should effectively have nothing left to do, as
these libraries do not depend on any other LO-provided libraries, but better
leave it in place anyway.)
Change-Id: Icf7f2ff5cb844b07be223e0b74cd6a650725777a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105946
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit a6aa52da18d1f4765f0357743c34dcb6d95da5d9
Author: Tor Lillqvist <tml at collabora.com>
Date: Fri Nov 20 01:02:02 2020 +0200
Check first if there is such a "bin" directory before attempting to use it
In the test-install target in Makefile.in we remove the "bin" folder
of the LibreOfficePython framework.
Change-Id: Idf3d440c4f9465f21b5dcae60d4fc5ac21965dd8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106284
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106398
Tested-by: Jenkins
commit 404e685497ed16669b5810bbbd23385cb04f2957
Author: Tor Lillqvist <tml at collabora.com>
Date: Thu Nov 19 22:04:21 2020 +0200
Allow --enable-macosx-sandbox without the codesigning identities
For cases where you just want "make test-install" to construct an app
bundle that you will manipulate and then sign separately.
Change-Id: Iad805618f74ec783ebc013a664f928511b388383
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106185
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106260
Tested-by: Jenkins
commit be89f23ac665c7b16cfc997b75df06bae8535870
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Dec 2 12:21:36 2020 +0200
Drop Python modules we don't want on macOS, too, like on other platforms
On macOS, for various reasons, we use a different approach than on
other platforms to construct the bundled Python.
Instead of explicitly listing what to include (out of what Python
contains and builds) (in ExternalPackage_python3.mk), after Python is
built, we remove stuff we don't want (in ExternalProject_python3.mk)
and then include everything left in the LibreOfficePython.framework
(in GeneratedPackage_python3.mk).
This fixes a problem in App Store review: For some reason the review
said that the setcchar() function from the ncurses library, used by
Python's curses module, is non-public. No idea why the (automated)
review picked on that function. As far as I see from the ncurses
header in the SDK, that function is no less public than the other
ncurses functions that the Python module uses.
But oh well, we don't actually ship the curses module anyway on other
platforms, so just drop it on macOS, too. And while at it, drop the
other unwanted ones, too. And any binary shared libraries for them.
Change-Id: Idecaf10a6fb1c59e8711095927f5699b8d2ec98e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107055
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107141
Tested-by: Tor Lillqvist <tml at collabora.com>
commit 52af800fa5116d1914b3bb82a3f21a1f24433993
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Sep 23 10:34:40 2020 +0300
tdf#135479: Seems we need the more broad entitlement for Java's sake
Sad, but OK.
This reverts part of 2c366aae9263dc4115b054fe74b90cabea61fa0b.
Change-Id: I6b74c871e3ec2408f833a5e2b652fd19cb7a2c0e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103230
Tested-by: Tor Lillqvist <tml at collabora.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106994
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
Tested-by: Jenkins
commit 757d7220b707283f260a175e7d07fd5446dcd6e2
Author: Tor Lillqvist <tml at iki.fi>
Date: Sun Nov 15 13:30:34 2020 +0000
Make python3 build on macOS 11, including for arm64
A combination of what is two separate commits in master.
Change-Id: I92ac0c500388730eca0be4766f07b1af2d2808e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106471
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 4414314fe5d675ec49e7932f43ebf01f48548c67
Author: Tor Lillqvist <tml at collabora.com>
Date: Thu Nov 12 21:46:06 2020 +0200
Make bridgetest exercise parameter passing in the C++/UNO bridge harder
The C++/UNO bridge for macOS on arm64 currently uses the Linux code.
Apple's ABI uses slightly different parameter passing on the stack,
though. See
https://developer.apple.com/documentation/xcode/writing_arm64_code_for_apple_platforms?language=objc
That has not been taken into account yet in the bridge code. The
bridgetest, when run on macOS on arm64, didn't notice, sadly, but
succeeded. With this change it crashes, as one would expect it to do.
Add one more byte and short parameter to the setValues(), setValues2()
and getValues() calls in the XBridgeTestBase interface. The stack
allocation for those [in] parameters to setValues() differ between the
Linux and Apple ABIs. Add corresponding attributes to the interface,
and members to the SimpleTest struct.
The changes to the source files in the cli subdirectory (C++/CLI,
VB.NET, and C#) are done blindly as they aren't compiled even on
Windows currently. Most likely the changes to them are incomplete and
erroneous.
Change-Id: I6f689a130d89b23cad9918829107d7da49a79c55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105770
Tested-by: Tor Lillqvist <tml at collabora.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105888
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106470
Tested-by: Caolán McNamara <caolanm at redhat.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 00bafe42cc11585ae83ea9373b782ef968445dbe
Author: Tor Lillqvist <tml at collabora.com>
Date: Thu Nov 12 11:35:57 2020 +0200
Cosmetic change to make it easier to see which parameter is the nth
Consequently put each parameter/argument on a separate line for the
get/setValues methods.
Will make it easier to add more parameters of such types and at such
positions that they catch errors in the C++/UNO bridge on more
platforms (specifically, the one for macOS on Apple Silicon).
Change-Id: I68578d0401358317f3baf913ef4d53009c8f5f2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105633
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105887
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106469
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit d84bb1e9b8d93332b267085cff4fb150a35a39f2
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Nov 3 22:00:08 2020 +0200
Make --without-webdav work even with --enable-mpl-subset
Change-Id: I319e0b3aefa721f2503494783af6d73470f592a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105271
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106468
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit ef040559fe864a70717ec6fdb1ea7aa667be7054
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Oct 19 20:52:46 2020 +0100
Fix nss build for x86_64 on an Apple Silicon Mac
Change-Id: I337f2a8e777394e586f659fadd819cf7dfc0a332
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104546
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Tested-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106467
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 3f398a6d07c4727584da7b7b31a0b03092a6406a
Author: Tor Lillqvist <tml at collabora.com>
Date: Fri Sep 18 23:06:07 2020 +0300
The config.{guess,sub} in $SRCDIR is good for external projects, too
No need for the older second copies in solenv/gbuild.
Change-Id: I088f7d06b0727d1b336e3ba314b5c874d8ce3776
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103027
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106466
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit ddcc08dd34b5a06e379743726f5230e98607a2e8
Author: Tor Lillqvist <tml at collabora.com>
Date: Sun Aug 9 10:51:22 2020 +0100
Make the C++/UNO bridge work on macOS on arm64
Use the same code as for Linux on aarch64, with minor additional
hacks. (There are slight differences in the ABI. See
https://developer.apple.com/library/archive/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARM64FunctionCallingConventions.html
The run-time code generation requires use of a new API on macOS to
work: See the use of pthread_jit_write_protect_np() in
bridges/source/cpp_uno/shared/vtablefactory.cxx.
Unlike the arm64 ABI used on Linux, on macOS (and iOS, but we don't
really use the C++/UNO bridge for iOS) we need to pack parameters
smaller than eight bytes according to their natural alignment. Bytes
take one byte, shorts two bytes aligned at a two-byte boundary, etc.
For some reason, when compiling for arm64-apple-macos, the symbols for
the type_infos for the UNO exception types
(_ZTIN3com3sun4star3uno16RuntimeExceptionE etc) end up as "weak
private external" in the object file, as displayed by "nm -f
darwin". We try to look them up with dlsym(), but that then fails. So
use a gross hack: Introduce separate real variables that point to
these typeinfos, and look up and dereference them instead. If this
hack ends up needing to be permanent, instead of having a manually
edited set of such pointer variables, we should teach codemaker to
generate corresponding functions, and look up and invoke them to get
the std::type_info pointer.
When compiling for x86_64-apple-macos, the type_info symbols end up as
"weak external" which is fine.
(This is a combination of what was two patches in master.)
Change-Id: I05f46a122a51ade1ac7dccd57cb90e594547740e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106465
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 4ae105347045c88e774669f3c89793567198ad41
Author: Tor Lillqvist <tml at collabora.com>
Date: Fri Aug 7 08:34:42 2020 +0100
Use <alloca.h> for macOS and iOS, too
Change-Id: I20f349cc03fe28536470c19f2559cc5414b823fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100284
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106464
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit f1f5282d3963ea2a1ed007faaeaa87b7d1f6e96d
Author: Tor Lillqvist <tml at collabora.com>
Date: Thu Aug 6 16:23:03 2020 +0300
Update config.{guess,sub} with latest versions and handle fallout of that
From http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD .
This time, do not apply the add-on change from
25a09c8776cc6088a5b2bf13dc84eb386c26bb7e to config.sub, but keep it
pristine. Instead, let's start using the name "aarch64" instead of
"arm64" for macOS and iOS in the autofoo context, as that is what
those tools call it. Clang and Apple call it arm64, though.
Change-Id: I1e05866c5fb08e0800cdfeaf7f6a71bfb43d1777
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100272
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106463
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 4831ab4ea8edb07376755ece0217ba6074dc58dc
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Jul 29 02:50:32 2020 -0400
Replace brittle gcc3_linux_aarch64 vtableSlotCall with pure assembler code
* For one, as discussed in the comment at <https://gerrit.libreoffice.org/c/
core/+/91978/2#message-97da6c6ece7ae7bd49e9eb4843be333192fcc057> "Port to
FreeBSD aarch64":
"So it looks like Clang does not treat those register asm as we expect it would,
at least on aarch64.
"Witness a local Linux recent master --with-distro=LibreOfficeAndroidAarch64
[i.e., using Clang] build's
> $ llvm-objdump --disassemble instdir/program/libgcc3_uno.a
[...]
> 0000000000000000 <vtableSlotCall>:
> 0: ff 43 03 d1 sub sp, sp, #208
> 4: f4 4f 0b a9 stp x20, x19, [sp, #176]
> 8: fd 7b 0c a9 stp x29, x30, [sp, #192]
> c: fd 03 03 91 add x29, sp, #192
> 10: a8 43 00 91 add x8, x29, #16
> 14: bf 83 1d f8 stur xzr, [x29, #-40]
> 18: e0 07 04 a9 stp x0, x1, [sp, #64]
> 1c: e2 0f 05 a9 stp x2, x3, [sp, #80]
> 20: e4 17 06 a9 stp x4, x5, [sp, #96]
> 24: e6 1f 07 a9 stp x6, x7, [sp, #112]
> 28: e0 07 00 6d stp d0, d1, [sp]
> 2c: e2 0f 01 6d stp d2, d3, [sp, #16]
> 30: e4 17 02 6d stp d4, d5, [sp, #32]
> 34: e6 1f 03 6d stp d6, d7, [sp, #48]
> 38: a8 03 1c f8 stur x8, [x29, #-64]
> 3c: a0 43 5e b8 ldur w0, [x29, #-28]
> 40: a1 03 5e b8 ldur w1, [x29, #-32]
> 44: a5 83 5e f8 ldur x5, [x29, #-24]
> 48: e4 03 08 aa mov x4, x8
> 4c: e2 03 01 91 add x2, sp, #64
> 50: e3 03 00 91 mov x3, sp
> 54: f3 03 01 91 add x19, sp, #64
> 58: f4 03 00 91 mov x20, sp
> 5c: 00 00 00 94 bl 0x5c <vtableSlotCall+0x5c>
> 60: 60 06 40 a9 ldp x0, x1, [x19]
> 64: 80 06 40 6d ldp d0, d1, [x20]
> 68: 82 0e 41 6d ldp d2, d3, [x20, #16]
> 6c: fd 7b 4c a9 ldp x29, x30, [sp, #192]
> 70: f4 4f 4b a9 ldp x20, x19, [sp, #176]
> 74: ff 43 03 91 add sp, sp, #208
> 78: c0 03 5f d6 ret
[...]
vs. [this commit's vtableslotcall.s; see below for details].
"And also latest Clang 12 trunk still does e.g.
> $ cat test.c
> void f(long);
> void g() {
> register long volatile a asm ("x8");
> f(a);
> }
> $ clang --target=unknown-linux-aarch64 -S -O2 test.c
> $ cat test.s
> .text
> .file "test.c"
> .globl g // -- Begin function g
> .p2align 2
> .type g, at function
> g: // @g
> // %bb.0: // %entry
> sub sp, sp, #16 // =16
> ldr x0, [sp, #8]
> add sp, sp, #16 // =16
> b f
> .Lfunc_end0:
> .size g, .Lfunc_end0-g
> // -- End function
> .ident "clang version 12.0.0 (git at github.com:llvm/llvm-project eb31ddd71eb44d53ebe12a09c9587198bb6f2a2e)"
> .section ".note.GNU-stack","", at progbits
> .addrsig
"(This is probably also the underlying issue that
eb15ac837e06087fb8148330e9171d6697d89ee6 'android: Avoid throwing exceptions
through the bridges' tries to hack arond.)"
* For another, this also gets rid of the
dddb527db1562f30a2a2b20338dfc8458086a4a9 "Again, no -fstack-protector-strong for
gcc3_linux_aarch64/cpp2uno.cxx" hack.
The contents of the new vtableslotcall.s is effectively the GCC 10 -S output of
the old vtableSlotCall C++ function from cpp2uno.cxx. (And as cpp2uno.cxx only
takes the address of vtableSlotCall, never calls it directly, it does not matter
that it declares it with an imprecise
extern "C" void vtableSlotCall();
signature.)
Change-Id: Icfbf0622a47825ff7cf21008de27d3da6a2f0ebd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99660
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106460
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 47ec17d4413dfebaaa628a6de03102e5697ccc33
Author: Tor Lillqvist <tml at iki.fi>
Date: Sun Jul 5 19:23:27 2020 +0300
Avoid warning about deprecation in macOS 11.0
Change-Id: Ie1a7e19093b439eb133632ee881e1e3dbe58132d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98176
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106459
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 302f1c221cb84e128cc6b402d444435add3c67d7
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Nov 16 00:43:37 2020 +0000
Avoid unused parameter 'pImpl'
Change-Id: I8dd30ed3ffffa0e5340b32ce4399dd05cc57e2b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105962
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106258
Tested-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106457
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 7b47e72dc34be8724d87ecec886d63c6a5a743b0
Author: Tor Lillqvist <tml at iki.fi>
Date: Sun Jul 5 19:22:31 2020 +0300
There is no QuickTime framework
The reference was a leftover from 32-bit times.
Change-Id: Ie453a4c644787a49f8742eab4b4ea9d49cddf32d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98175
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106456
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit c0a356925ad5de49325e39d94e6a426c0256805b
Author: Tor Lillqvist <tml at iki.fi>
Date: Sun Jul 5 01:11:20 2020 +0300
Initial attempt at macOS on arm64 support for OpenSSL
Sadly the existing arm64 assembler files in OpenSSL use a syntax that
Apple's clang doesn't accept.
And yeah, ideally we should not use either NSS or OpenSSL on macOS,
but native APIs for the functionality in question. Trying to make
everything look like Linux is a bone-headed approach.
Change-Id: Ib3f137ac73329b92e82c654d1277ee21f5f81b37
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98095
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105871
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106371
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 33ad992b24dabb73f3d8442acc7afb380d12056c
Author: Tor Lillqvist <tml at iki.fi>
Date: Mon Jun 29 01:18:16 2020 +0300
More WIP work for macOS on Apple Silicon
If cross-compiling to a DESKTOP platform, use
RepositoryModule_host.mk on the build platform, too.
Change-Id: Icd3f3081e5af0c7cda95e9bce7572d37567d4f6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97356
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105869
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106369
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 9aed9f8602137eb3fbad6a932234e1340c538f00
Author: Tor Lillqvist <tml at iki.fi>
Date: Mon Jun 29 10:15:48 2020 +0300
For macOS on arm64, be sure to use HOST_PLATFORM=arm64-apple-darwin
(That is for external projects.)
Change-Id: I709ff37ebca304f862ff94bdb1c6e6035f5cda77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97981
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105870
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106370
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 19719f910e6d0c65c134af30b9fdbf4bdd07f369
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Nov 3 20:54:13 2020 +0200
Fix apr build with current Xcode: Include <stdlib.h> for exit()
(Or whatever it is that had broken it.)
Change-Id: I72bc42e618f011518c05a2cdb875cfe64515b4d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105269
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106042
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106372
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 46040d0ac747f5c15ec7fbacd81e97aa16aee214
Author: Tor Lillqvist <tml at iki.fi>
Date: Mon Nov 23 02:27:18 2020 +0200
Clean up arm64 confusion a bit
Set nss's CPU_ARCH to aarch64 also when compiling to arm64 on arm64,
without any cross-compiling involved.
Change-Id: I2eb9fb7b9547e5ded75ca242ea7ef09c826bf561
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106377
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit cbb3b122318f0a12d8081591517d44cb28b00671
Author: Tor Lillqvist <tml at collabora.com>
Date: Thu Aug 6 22:43:14 2020 +0300
Use USE_DLFCN also on macOS on arm64
Change-Id: I8975ea2d4f33a101b5ac6db247a6dd062bc0c410
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100273
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106376
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 2d0158b29d8adddc11d34a39482eccc08971903e
Author: Tor Lillqvist <tml at iki.fi>
Date: Sat Jul 4 23:07:52 2020 +0300
Set CROSS_COMPILE=1 when cross-compiling nss
Change-Id: Iad826eb83e4c49078e6c668661446b5b70e6a981
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97987
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106375
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 0916dedcb959e079a3ed111e9be40115da5142ef
Author: Tor Lillqvist <tml at iki.fi>
Date: Sat Jul 4 22:37:09 2020 +0300
Be more generic for CPUNAME=ARM64
It's used not just for iOS but can be macOS too.
Also, nss wants to call it CPU_ARCH=aarch64.
Change-Id: I6398c3bf1409f2ccf16b0d154ad7c2b56f493b15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97986
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106374
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit d059ff95941d331d6b3a9aed48cb778524fc5963
Author: Tor Lillqvist <tml at iki.fi>
Date: Sat Jul 4 22:20:56 2020 +0300
Use up-to-date config.{guess,sub} for external/nss, too
Change-Id: I387aba22b90ab1bde1ae3659ea06a5838c1c829d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97983
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106373
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 6b76cceb45a89e1ca916e0f76e736429e0b93c21
Author: Tor Lillqvist <tml at iki.fi>
Date: Tue Jun 23 21:49:26 2020 +0300
Initial WIP steps for building for macOS on Apple Silicon
Don't use $host_os="darwin" for both macOS and iOS depending on
$host_cpu. Soon macOS will run on either x86_64 or arm64. Instead, use "darwin"
(or "macos") for macOS and "ios" for iOS.
Some other early changes for arm64-apple-macos, too.
Change-Id: Id89987d854ceba2cd87c6222db2081ccdec0c73e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96976
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105868
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106368
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
commit 7fe6514c288ea3dda1518b4144aad9c61e678acf
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Jun 23 00:52:38 2020 +0300
Accept macOS SDK 11.0
Change-Id: I92275eabe3c6a9442f675ec211c1dd1a8b58bd1b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96909
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105787
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106367
Reviewed-by: Michael Stahl <michael.stahl at cib.de>
commit 08862e9f7625ab95ed7f2c0e11e3b6d15ee586c7
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Jun 23 01:59:05 2020 +0300
Fix -Werror,-Wimplicit-function-declaration in posrgresql configury
Includes the "Brown paper bag fix for
e69f547bce7de376a0af464c5f7af5e7d2c8784a"
Change-Id: I3c2dfb94a3c9627e802956cc03cebcbdb7d498cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96912
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105499
Reviewed-by: Michael Stahl <michael.stahl at cib.de>
commit 5d8bce8b328b7ce9c748684db41ec1a8c75ca95e
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Jun 23 01:19:23 2020 +0300
Add getopt declarations
Avoids: implicit declaration of function 'getopt' is invalid in C99
[-Werror,-Wimplicit-function-declaration] on macOS with current Xcode.
Change-Id: Ic178f53d1002425df52e220b1723fb12edca13df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96910
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105498
Reviewed-by: Michael Stahl <michael.stahl at cib.de>
commit 9117249398c0d760a6ffea53db658c2ac0e18c7b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Oct 1 12:57:53 2020 +0200
nss: restore manual pre-dependency build
We had some seldom build failures on Windows, with errors like:
PermissionError: [WinError 32] The process cannot access the file
because it is being used by another process: '..../nssckmdt.h'.
This happens, because of the "." / parent shell hack. Thinking
about it again, it doesn't prevent the parent make to run in
parallel to the "." directory make. So I tried to use a terminal
match-all rule like
ifneq (,$(filter .,$(DIRS)))
%::
# empty terminal rule triggered
$(error can't happen)
endif
to stop the original parent make, but that doesn't work and the
$(error ...) is triggered.
So AFAIK I'm out of options here and have to restore the old
manual pre-dependency build variant - still much better then no
parallel build.
An alternative idea was to put the rest of the rules.mk in the
"else" of the terminal rule, to skip all normal rules, but this
still leaves out all rules from the rest of the make-files,
which might result in some hard to debug errors.
This reverts my upstream patch 15608:744881490c78.
Change-Id: I9e2e9e1ec9f35697c7853c92f60434f514cba5ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103777
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
(cherry picked from commit d2f9c55e065d559de903d540da28502646714a24)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104881
Reviewed-by: Michael Stahl <michael.stahl at cib.de>
More information about the Libreoffice-commits
mailing list