Repository.mk | 4 autogen.sh | 1 bridges/Library_cpp_uno.mk | 4 bridges/source/cpp_uno/gcc3_aix_powerpc/cpp2uno.cxx | 658 -------------- bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx | 260 ----- bridges/source/cpp_uno/gcc3_aix_powerpc/share.hxx | 89 - bridges/source/cpp_uno/gcc3_aix_powerpc/uno2cpp.cxx | 501 ---------- configure.ac | 43 cppu/source/typelib/static_types.cxx | 7 cppu/source/typelib/typelib.cxx | 13 cpputools/scripts/uno.sh | 13 desktop/scripts/soffice.sh | 4 desktop/scripts/unopkg.sh | 17 desktop/source/deployment/misc/dp_platform.cxx | 2 desktop/unx/source/start.c | 8 external/clucene/UnpackedTarball_clucene.mk | 1 external/clucene/patches/clucene-aix.patch | 40 external/curl/ExternalPackage_curl.mk | 2 external/hunspell/ExternalProject_hunspell.mk | 1 external/icu/ExternalProject_icu.mk | 2 external/icu/UnpackedTarball_icu.mk | 1 external/icu/icu4c-aix.patch.1 | 143 --- external/libexttextcat/ExternalProject_libexttextcat.mk | 3 external/libnumbertext/ExternalProject_libnumbertext.mk | 1 external/lpsolve/ExternalProject_lpsolve.mk | 3 external/lpsolve/UnpackedTarball_lpsolve.mk | 1 external/lpsolve/lp_solve-aix.patch | 39 external/nss/UnpackedTarball_nss.mk | 1 external/nss/nss.aix.patch | 140 -- external/openldap/ExternalProject_openldap.mk | 3 external/openssl/openssl-no-ipc-cmd.patch.0 | 23 external/python3/ExternalPackage_python3.mk | 2 external/python3/ExternalProject_python3.mk | 2 external/redland/UnpackedTarball_rasqal.mk | 1 external/redland/rasqal/rasqal-aix.patch.1 | 25 external/xmlsec/ExternalProject_xmlsec.mk | 1 helpcompiler/inc/HelpLinker.hxx | 4 include/LibreOfficeKit/LibreOfficeKitInit.h | 7 include/osl/endian.h | 7 include/sal/alloca.h | 4 include/sal/config.h | 4 include/sal/main.h | 4 instsetoo_native/inc_openoffice/unix/find-requires-x11.sh | 10 jvmfwk/Package_rcfiles.mk | 2 odk/CustomTarget_check.mk | 3 odk/source/unoapploader/unx/unoapploader.c | 6 sal/osl/unx/file_error_transl.cxx | 2 sal/osl/unx/module.cxx | 49 - sal/osl/unx/system.hxx | 14 sal/qa/osl/file/osl_File.cxx | 2 scp2/source/ooo/module_hidden_ooo.scp | 53 - scp2/source/ooo/module_ooo.scp | 12 scp2/source/ooo/ure.scp | 73 - scp2/source/python/file_python_librelogo.scp | 2 scp2/source/python/module_python_librelogo.scp | 2 shell/source/tools/lngconvex/lngconvex.cxx | 5 shell/source/unix/misc/senddoc.sh | 9 solenv/bin/concat-deps.c | 4 solenv/bin/modules/installer/epmfile.pm | 9 solenv/bin/modules/installer/parameter.pm | 10 solenv/clang-format/excludelist | 4 solenv/gbuild/platform/com_GCC_defs.mk | 2 soltools/Executable_cpp.mk | 2 soltools/cpp/_unix.c | 4 svx/source/gengal/gengal.sh | 17 tools/source/stream/strmunx.cxx | 2 vcl/inc/unx/salunxtime.h | 4 vcl/inc/unx/screensaverinhibitor.hxx | 2 vcl/unx/generic/app/saldata.cxx | 3 vcl/unx/generic/app/saldisp.cxx | 2 vcl/unx/generic/window/screensaverinhibitor.cxx | 6 vcl/unx/gtk3/a11y/atklistener.cxx | 6 vcl/unx/gtk3/a11y/atkutil.cxx | 6 vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx | 6 vcl/unx/gtk3/fpicker/SalGtkFolderPicker.cxx | 6 vcl/unx/gtk3/fpicker/SalGtkPicker.cxx | 6 vcl/unx/gtk3/gtkobject.cxx | 6 77 files changed, 39 insertions(+), 2401 deletions(-)
New commits: commit 70bcf9e8bea1fee9cca44437730324ba7805b633 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Mon Jan 23 11:28:21 2023 +0100 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Fri Jan 27 07:28:16 2023 +0000 Remove support for AIX As discussed in the mailing list thread starting at <https://lists.freedesktop.org/archives/libreoffice/2023-January/089808.html> "Plan to remove dead C++ UNO bridge implementations (bridges/source/cpp_uno/*)", the bridge implementation at bridges/source/cpp_uno/gcc3_aix_powerpc is apparently dead and should thus be removed. However, that was the only bridge implementation for AIX, which implies that support for the AIX platform as a whole is dead and should thus be removed. Change-Id: I96de3f7f97d4fd770ff78256f0ea435383688be9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146057 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/Repository.mk b/Repository.mk index 7143e0500a35..1f63eec0f89b 100644 --- a/Repository.mk +++ b/Repository.mk @@ -1015,13 +1015,13 @@ $(eval $(call gb_Helper_register_packages_for_install,ooo,\ ) \ $(if $(filter SKIA,$(BUILD_TYPE)), \ vcl_skia_denylist ) \ - $(if $(DISABLE_PYTHON),,$(if $(filter-out AIX,$(OS)), \ + $(if $(DISABLE_PYTHON),, \ Pyuno/commonwizards \ Pyuno/fax \ Pyuno/letter \ Pyuno/agenda \ Pyuno/mailmerge \ - )) \ + ) \ sfx2_classification \ $(if $(filter OPENCL,$(BUILD_TYPE)),sc_opencl_runtimetest) \ $(if $(ENABLE_HTMLHELP),\ diff --git a/autogen.sh b/autogen.sh index bef1f7faf561..b961dd1934b3 100755 --- a/autogen.sh +++ b/autogen.sh @@ -161,7 +161,6 @@ my $aclocal_flags = $ENV{ACLOCAL_FLAGS}; $aclocal_flags .= " -I $src_path/m4"; $aclocal_flags .= " -I $src_path/m4/mac" if ($system eq 'Darwin'); -$aclocal_flags .= " -I /opt/freeware/share/aclocal" if ($system eq 'AIX'); $ENV{AUTOMAKE_EXTRA_FLAGS} = '--warnings=no-portability' if (!($system eq 'Darwin')); diff --git a/bridges/Library_cpp_uno.mk b/bridges/Library_cpp_uno.mk index 5dc92c23cdbb..becb9f66dabe 100644 --- a/bridges/Library_cpp_uno.mk +++ b/bridges/Library_cpp_uno.mk @@ -138,10 +138,6 @@ ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD,$(OS)),) bridges_SELECTED_BRIDGE := gcc3_linux_powerpc bridge_noopt_objects := uno2cpp bridge_exception_objects := cpp2uno except -else ifeq ($(OS),AIX) -bridges_SELECTED_BRIDGE := gcc3_aix_powerpc -bridge_exception_objects := except -bridge_cxx_objects := cpp2uno uno2cpp endif else ifeq ($(CPUNAME),POWERPC64) diff --git a/bridges/source/cpp_uno/gcc3_aix_powerpc/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_aix_powerpc/cpp2uno.cxx deleted file mode 100644 index 92068152245c..000000000000 --- a/bridges/source/cpp_uno/gcc3_aix_powerpc/cpp2uno.cxx +++ /dev/null @@ -1,658 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include <com/sun/star/uno/genfunc.hxx> -#include <sal/log.hxx> -#include <uno/data.h> -#include <typelib/typedescription.hxx> - -#include "bridge.hxx" -#include "cppinterfaceproxy.hxx" -#include "types.hxx" -#include "vtablefactory.hxx" - -#include "share.hxx" - -#include <string.h> -#include <typeinfo> - -using namespace ::com::sun::star::uno; - -namespace -{ - - -static typelib_TypeClass cpp2uno_call( - bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, - void ** gpreg, double * fpreg, void ** ovrflw, - sal_uInt64 * pRegisterReturn /* space for register return */ ) -{ - // gpreg: [ret *], this, [gpr params] - // fpreg: [fpr params] - // ovrflw: [remainder of params] - - // return - typelib_TypeDescription * pReturnTypeDescr = 0; - if (pReturnTypeRef) - TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef ); - - void * pUnoReturn = 0; - void * pCppReturn = 0; // complex return ptr: if != 0 && != pUnoReturn, reconversion need - - sal_Int32 ng = 0; - sal_Int32 nf = 0; - - ovrflw -= ppc::MAX_GPR_REGS; - - if (pReturnTypeDescr) - { - if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - pUnoReturn = pRegisterReturn; // direct way for simple types - else // complex return via ptr (pCppReturn) - { - pCppReturn = *gpreg; - ++gpreg; - ++ng; - ++ovrflw; - - pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( pReturnTypeDescr ) - ? __builtin_alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } - } - // pop this - ++gpreg; - ++ng; - ++ovrflw; - - // stack space - static_assert(sizeof(void *) == sizeof(sal_Int32), "### unexpected size!"); - // parameters - void ** pUnoArgs = (void **)__builtin_alloca( 4 * sizeof(void *) * nParams ); - void ** pCppArgs = pUnoArgs + nParams; - - // indices of values this have to be converted (interface conversion cpp<=>uno) - sal_Int32 * pTempIndices = (sal_Int32 *)(pUnoArgs + (2 * nParams)); - - // type descriptions for reconversions - typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pUnoArgs + (3 * nParams)); - - sal_Int32 nTempIndices = 0; - - for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos ) - { - const typelib_MethodParameter & rParam = pParams[nPos]; - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - - if (!rParam.bOut && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - // value - { - switch (pParamTypeDescr->eTypeClass) - { - case typelib_TypeClass_BOOLEAN: - case typelib_TypeClass_BYTE: - if (ng < ppc::MAX_GPR_REGS) - { - *ovrflw = *gpreg++; - ++ng; - } - pCppArgs[nPos] = pUnoArgs[nPos] = (((char *)ovrflw) + (sizeof(void*)-1)); - ++ovrflw; - break; - case typelib_TypeClass_CHAR: - case typelib_TypeClass_SHORT: - case typelib_TypeClass_UNSIGNED_SHORT: - if (ng < ppc::MAX_GPR_REGS) - { - *ovrflw = *gpreg++; - ++ng; - } - pCppArgs[nPos] = pUnoArgs[nPos] = (((char *)ovrflw) + (sizeof(void*)-2)); - ++ovrflw; - break; - case typelib_TypeClass_HYPER: - case typelib_TypeClass_UNSIGNED_HYPER: - pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw; - for (int i = 0; i < 2; ++i) - { - if (ng < ppc::MAX_GPR_REGS) - { - *ovrflw = *gpreg++; - ++ng; - } - ++ovrflw; - } - break; - case typelib_TypeClass_DOUBLE: - if (nf < ppc::MAX_SSE_REGS) - { - pCppArgs[nPos] = pUnoArgs[nPos] = fpreg; - ++fpreg; - ++nf; - } - else - { - pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw; - } - if (ng < ppc::MAX_GPR_REGS) - { - ng+=2; - gpreg+=2; - } - ovrflw+=2; - break; - case typelib_TypeClass_FLOAT: - if (nf < ppc::MAX_SSE_REGS) - { - pCppArgs[nPos] = pUnoArgs[nPos] = fpreg; - ++fpreg; - ++nf; - } - else - { - pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw; - } - if (ng < ppc::MAX_GPR_REGS) - { - ++gpreg; - ++ng; - } - ++ovrflw; - break; - default: - if (ng < ppc::MAX_GPR_REGS) - { - *ovrflw = *gpreg++; - ++ng; - } - pCppArgs[nPos] = pUnoArgs[nPos] = ovrflw; - ++ovrflw; - break; - } - - // no longer needed - TYPELIB_DANGER_RELEASE( pParamTypeDescr ); - } - else // ptr to complex value | ref - { - void *pCppStack; //temporary stack pointer - - if (ng < ppc::MAX_GPR_REGS) - { - *ovrflw = *gpreg++; - ++ng; - } - pCppArgs[nPos] = pCppStack = *ovrflw++; - - if (! rParam.bIn) // is pure out - { - // uno out is unconstructed mem! - pUnoArgs[nPos] = __builtin_alloca( pParamTypeDescr->nSize ); - pTempIndices[nTempIndices] = nPos; - // will be released at reconversion - ppTempParamTypeDescr[nTempIndices++] = pParamTypeDescr; - } - // is in/inout - else if (bridges::cpp_uno::shared::relatesToInterfaceType( pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = __builtin_alloca( pParamTypeDescr->nSize ), - pCppStack, pParamTypeDescr, - pThis->getBridge()->getCpp2Uno() ); - pTempIndices[nTempIndices] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndices++] = pParamTypeDescr; - } - else // direct way - { - pUnoArgs[nPos] = pCppStack; - // no longer needed - TYPELIB_DANGER_RELEASE( pParamTypeDescr ); - } - } - } - - // ExceptionHolder - uno_Any aUnoExc; // Any will be constructed by callee - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call - (*pThis->getUnoI()->pDispatcher)( - pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occurred... - if (pUnoExc) - { - // destruct temporary in/inout params - for ( ; nTempIndices--; ) - { - sal_Int32 nIndex = pTempIndices[nTempIndices]; - - if (pParams[nIndex].bIn) // is in/inout => was constructed - uno_destructData( pUnoArgs[nIndex], ppTempParamTypeDescr[nTempIndices], 0 ); - TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndices] ); - } - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - - CPPU_CURRENT_NAMESPACE::raiseException( - &aUnoExc, pThis->getBridge()->getUno2Cpp() ); - // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } - else // else no exception occurred... - { - // temporary params - for ( ; nTempIndices--; ) - { - sal_Int32 nIndex = pTempIndices[nTempIndices]; - typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndices]; - - if (pParams[nIndex].bOut) // inout/out - { - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, - pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); - - TYPELIB_DANGER_RELEASE( pParamTypeDescr ); - } - // return - if (pCppReturn) // has complex return - { - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, - pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } - // complex return ptr is set to return reg - *(void **)pRegisterReturn = pCppReturn; - } - if (pReturnTypeDescr) - { - typelib_TypeClass eRet = (typelib_TypeClass)pReturnTypeDescr->eTypeClass; - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - return eRet; - } - else - return typelib_TypeClass_VOID; - } -} - - -static typelib_TypeClass cpp_mediate( - sal_Int32 nFunctionIndex, - sal_Int32 nVtableOffset, - void ** gpreg, double * fpreg, void ** ovrflw, - sal_uInt64 * pRegisterReturn /* space for register return */ ) -{ - static_assert(sizeof(sal_Int32)==sizeof(void *), "### unexpected!"); - - // gpreg: [ret *], this, [other gpr params] - // fpreg: [fpr params] - // ovrflw: [gpr or fpr params (in space allocated for all params properly aligned)] - - void * pThis; - if( nFunctionIndex & 0x8000 ) - { - nFunctionIndex &= 0x7fff; - pThis = gpreg[1]; - } - else - { - pThis = gpreg[0]; - } - - pThis = static_cast< char * >(pThis) - nVtableOffset; - - bridges::cpp_uno::shared::CppInterfaceProxy * pCppI - = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(pThis); - - typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - - if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - SAL_WARN( - "bridges", - "illegal " << OUString::unacquired(&pTypeDescr->aBase.pTypeName) - << " vtable index " << nFunctionIndex << "/" - << pTypeDescr->nMapFunctionIndexToMemberIndex); - throw RuntimeException( - ("illegal " + OUString::unacquired(&pTypeDescr->aBase.pTypeName) - + " vtable index " + OUString::number(nFunctionIndex) + "/" - + OUString::number(pTypeDescr->nMapFunctionIndexToMemberIndex)), - (XInterface *)pThis); - } - - // determine called method - sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - assert(nMemberPos < pTypeDescr->nAllMembers); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); - - typelib_TypeClass eRet; - switch (aMemberDescr.get()->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { - if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( - pCppI, aMemberDescr.get(), - ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef, - 0, 0, // no params - gpreg, fpreg, ovrflw, pRegisterReturn ); - } - else - { - // is SET method - typelib_MethodParameter aParam; - aParam.pTypeRef = - ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef; - aParam.bIn = sal_True; - aParam.bOut = sal_False; - - eRet = cpp2uno_call( - pCppI, aMemberDescr.get(), - 0, // indicates void return - 1, &aParam, - gpreg, fpreg, ovrflw, pRegisterReturn ); - } - break; - } - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD - switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! - eRet = typelib_TypeClass_VOID; - break; - case 2: // release() - pCppI->releaseProxy(); // non virtual call! - eRet = typelib_TypeClass_VOID; - break; - case 0: // queryInterface() opt - { - typelib_TypeDescription * pTD = 0; - TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( gpreg[2] )->getTypeLibType() ); - if (pTD) - { - XInterface * pInterface = 0; - (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( - pCppI->getBridge()->getCppEnv(), - (void **)&pInterface, pCppI->getOid().pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { - ::uno_any_construct( - reinterpret_cast< uno_Any * >( gpreg[0] ), - &pInterface, pTD, cpp_acquire ); - pInterface->release(); - TYPELIB_DANGER_RELEASE( pTD ); - *(void **)pRegisterReturn = gpreg[0]; - eRet = typelib_TypeClass_ANY; - break; - } - TYPELIB_DANGER_RELEASE( pTD ); - } - } // else perform queryInterface() - default: - eRet = cpp2uno_call( - pCppI, aMemberDescr.get(), - ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->nParams, - ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pParams, - gpreg, fpreg, ovrflw, pRegisterReturn ); - } - break; - } - default: - { - throw RuntimeException( "no member description found!", (XInterface *)pThis ); - } - } - - return eRet; -} - - -/** - * is called on incoming vtable calls - * (called by asm snippets) - */ -static sal_uInt64 cpp_vtable_call(sal_Int32 r3, sal_Int32 r4, sal_Int32 r5, - sal_Int32 r6, sal_Int32 r7, sal_Int32 r8, sal_Int32 r9, - sal_Int32 r10, sal_Int32 firstonstack) -{ - volatile unsigned long nOffsetAndIndex; - - __asm__ __volatile__( - "mr %0, 11\n\t" - : "=r" (nOffsetAndIndex) : ); - - sal_Int32 nVtableOffset = (nOffsetAndIndex >> 16); - sal_Int32 nFunctionIndex = (nOffsetAndIndex & 0xFFFF); - - void ** ovrflw = (void**)&firstonstack; - - sal_Int32 gpreg[ppc::MAX_GPR_REGS]; - gpreg[0] = r3; - gpreg[1] = r4; - gpreg[2] = r5; - gpreg[3] = r6; - gpreg[4] = r7; - gpreg[5] = r8; - gpreg[6] = r9; - gpreg[7] = r10; - - double fpreg[ppc::MAX_SSE_REGS]; - register double d0 asm("fr1"); fpreg[0] = d0; - register double d1 asm("fr2"); fpreg[1] = d1; - register double d2 asm("fr3"); fpreg[2] = d2; - register double d3 asm("fr4"); fpreg[3] = d3; - register double d4 asm("fr5"); fpreg[4] = d4; - register double d5 asm("fr6"); fpreg[5] = d5; - register double d6 asm("fr7"); fpreg[6] = d6; - register double d7 asm("fr8"); fpreg[7] = d7; - register double d8 asm("fr9"); fpreg[8] = d8; - register double d9 asm("fr10"); fpreg[9] = d9; - register double d10 asm("fr11"); fpreg[10] = d10; - register double d11 asm("fr12"); fpreg[11] = d11; - register double d12 asm("fr13"); fpreg[12] = d12; - -#if OSL_DEBUG_LEVEL > 2 - for(int i = 0; i < 8; ++i) - { - fprintf(stderr, "general reg %d is %x\n", i, gpreg[i]); - } - for(int i = 0; i < 13; ++i) - { - fprintf(stderr, "sse reg %d is %f\n", i, fpreg[i]); - fprintf(stderr, "sse reg %d is %llx\n", i, fpreg[i]); - } - for(int i = -8; i < 8; ++i) - { - fprintf(stderr, "overflow arg %d is %x\n", i, ovrflw[i]); - } -#endif - sal_uInt64 nRegReturn=0; - - typelib_TypeClass aType = - cpp_mediate( nFunctionIndex, nVtableOffset, (void**)gpreg, fpreg, ovrflw, &nRegReturn ); - - sal_uInt32 *pRegReturn = (sal_uInt32*)&nRegReturn; - switch( aType ) - { - case typelib_TypeClass_BOOLEAN: - pRegReturn[0] = (sal_uInt32)(*(char *)pRegReturn); - break; - case typelib_TypeClass_BYTE: - pRegReturn[0] = (sal_Int32)(*(unsigned char *)pRegReturn); - break; - case typelib_TypeClass_SHORT: - pRegReturn[0] = (sal_Int32)(*(short *)pRegReturn); - break; - case typelib_TypeClass_CHAR: - case typelib_TypeClass_UNSIGNED_SHORT: - pRegReturn[0] = (sal_uInt32)(*(unsigned short *)pRegReturn); - break; - case typelib_TypeClass_FLOAT: - __asm__("lfs 1,%0\n\t" : : "m"(*((float*)&nRegReturn))); - break; - case typelib_TypeClass_DOUBLE: - __asm__("lfd 1,%0\n\t" : : "m"(*((double*)&nRegReturn))); - break; - case typelib_TypeClass_HYPER: - case typelib_TypeClass_UNSIGNED_HYPER: - break; - default: - pRegReturn[0] = (sal_uInt32)(*(unsigned int*)pRegReturn); - break; - } - return nRegReturn; -} - - -int const codeSnippetSize = 3 * sizeof(void*); - -unsigned char * codeSnippet( unsigned char * code, sal_Int16 functionIndex, - sal_Int16 vtableOffset, bool simpleRetType ) -{ - sal_uInt32 nOffsetAndIndex = ( ( vtableOffset ) << 16 ) | (functionIndex ); - if (! simpleRetType ) - nOffsetAndIndex |= 0x8000; - - void **raw = (void**)&code[0]; - memcpy(raw, (char*)cpp_vtable_call, 2 * sizeof(void*)); - raw[2] = (void*)nOffsetAndIndex; - - return (code + codeSnippetSize); -} - -} - -void bridges::cpp_uno::shared::VtableFactory::flushCode(unsigned char const * bptr, unsigned char const * eptr) -{ - int const lineSize = 32; - for (unsigned char const * p = bptr; p < eptr + lineSize; p += lineSize) { - __asm__ volatile ("dcbst 0, %0" : : "r"(p) : "memory"); - } - __asm__ volatile ("sync" : : : "memory"); - for (unsigned char const * p = bptr; p < eptr + lineSize; p += lineSize) { - __asm__ volatile ("icbi 0, %0" : : "r"(p) : "memory"); - } - __asm__ volatile ("isync" : : : "memory"); -} - -struct bridges::cpp_uno::shared::VtableFactory::Slot { void const * fn; }; - -bridges::cpp_uno::shared::VtableFactory::Slot * -bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(void * block) -{ - return static_cast< Slot * >(block) + 2; -} - -std::size_t bridges::cpp_uno::shared::VtableFactory::getBlockSize( - sal_Int32 slotCount) -{ - return (slotCount + 2) * sizeof (Slot) + slotCount * codeSnippetSize; -} - -namespace { -// Some dummy type whose RTTI is used in the synthesized proxy vtables to make uses of dynamic_cast -// on such proxy objects not crash: -struct ProxyRtti {}; -} - -bridges::cpp_uno::shared::VtableFactory::Slot * -bridges::cpp_uno::shared::VtableFactory::initializeBlock( - void * block, sal_Int32 slotCount, sal_Int32, - typelib_InterfaceTypeDescription *) -{ - Slot * slots = mapBlockToVtable(block); - slots[-2].fn = 0; - slots[-1].fn = &typeid(ProxyRtti); - return slots + slotCount; -} - -unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( - Slot ** slots, unsigned char * code, - typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, - sal_Int32 functionCount, sal_Int32 vtableOffset) -{ - (*slots) -= functionCount; - Slot * s = *slots; - - for (sal_Int32 i = 0; i < type->nMembers; ++i) { - typelib_TypeDescription * member = 0; - TYPELIB_DANGER_GET(&member, type->ppMembers[i]); - assert(member != 0); - switch (member->eTypeClass) { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - // Getter: - (s++)->fn = code; - code = codeSnippet( - code, functionOffset++, vtableOffset, - bridges::cpp_uno::shared::isSimpleType( - reinterpret_cast< - typelib_InterfaceAttributeTypeDescription * >( - member)->pAttributeTypeRef)); - - // Setter: - if (!reinterpret_cast< - typelib_InterfaceAttributeTypeDescription * >( - member)->bReadOnly) - { - (s++)->fn = code; - code = codeSnippet(code, functionOffset++, vtableOffset, true); - } - break; - - case typelib_TypeClass_INTERFACE_METHOD: - (s++)->fn = code; - code = codeSnippet( - code, functionOffset++, vtableOffset, - bridges::cpp_uno::shared::isSimpleType( - reinterpret_cast< - typelib_InterfaceMethodTypeDescription * >( - member)->pReturnTypeRef)); - break; - - default: - assert(false); - break; - } - TYPELIB_DANGER_RELEASE(member); - } - return code; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx b/bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx deleted file mode 100644 index e87590592888..000000000000 --- a/bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx +++ /dev/null @@ -1,260 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - - -#include <stdio.h> -#include <dlfcn.h> -#include <cxxabi.h> - -#include <rtl/strbuf.hxx> -#include <rtl/ustrbuf.hxx> -#include <osl/mutex.hxx> - -#include <com/sun/star/uno/genfunc.hxx> -#include <typelib/typedescription.hxx> -#include <uno/any2.h> -#include <unordered_map> -#include "share.hxx" -#include <string.h> - - -using namespace ::std; -using namespace ::osl; -using namespace ::com::sun::star::uno; -using namespace ::__cxxabiv1; - - -namespace CPPU_CURRENT_NAMESPACE -{ - -void dummy_can_throw_anything( char const * ) -{ -} - - -static OUString toUNOname( char const * p ) -{ -#ifdef DEBUG - char const * start = p; -#endif - - // example: N3com3sun4star4lang24IllegalArgumentExceptionE - - OUStringBuffer buf( 64 ); - assert( 'N' == *p ); - ++p; // skip N - - while ('E' != *p) - { - // read chars count - long n = (*p++ - '0'); - while ('0' <= *p && '9' >= *p) - { - n *= 10; - n += (*p++ - '0'); - } - buf.appendAscii( p, n ); - p += n; - if ('E' != *p) - buf.append( '.' ); - } - -#ifdef DEBUG - OUString ret( buf.makeStringAndClear() ); - OString c_ret( OUStringToOString( ret, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> toUNOname(): %s => %s\n", start, c_ret.getStr() ); - return ret; -#else - return buf.makeStringAndClear(); -#endif -} - - -class RTTI -{ - typedef std::unordered_map< OUString, type_info * > t_rtti_map; - - Mutex m_mutex; - t_rtti_map m_rttis; - t_rtti_map m_generatedRttis; - - void * m_hApp; - -public: - RTTI(); - ~RTTI(); - - type_info * getRTTI( typelib_CompoundTypeDescription * ); -}; - -RTTI::RTTI() - : m_hApp( dlopen( 0, RTLD_LAZY ) ) -{ -} - -RTTI::~RTTI() -{ - dlclose( m_hApp ); -} - - -type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) -{ - type_info * rtti; - - OUString const & unoName = *(OUString const *)&pTypeDescr->aBase.pTypeName; - - MutexGuard guard( m_mutex ); - t_rtti_map::const_iterator iFind( m_rttis.find( unoName ) ); - if (iFind == m_rttis.end()) - { - // RTTI symbol - OStringBuffer buf( 64 ); - buf.append( "_ZTIN" ); - sal_Int32 index = 0; - do - { - OUString token( unoName.getToken( 0, '.', index ) ); - buf.append( token.getLength() ); - OString c_token( OUStringToOString( token, RTL_TEXTENCODING_ASCII_US ) ); - buf.append( c_token ); - } - while (index >= 0); - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); - rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); - - if (rtti) - { - pair< t_rtti_map::iterator, bool > insertion( - m_rttis.insert( t_rtti_map::value_type( unoName, rtti ) ) ); - assert(insertion.second); - } - else - { - // try to lookup the symbol in the generated rtti map - t_rtti_map::const_iterator iiFind( m_generatedRttis.find( unoName ) ); - if (iiFind == m_generatedRttis.end()) - { - // we must generate it ! - // symbol and rtti-name is nearly identical, - // the symbol is prefixed with _ZTI - char const * rttiName = symName.getStr() +4; -#ifdef DEBUG - fprintf( stderr,"generated rtti for %s\n", rttiName ); -#endif - if (pTypeDescr->pBaseTypeDescription) - { - // ensure availability of base - type_info * base_rtti = getRTTI( - (typelib_CompoundTypeDescription *)pTypeDescr->pBaseTypeDescription ); - rtti = new __si_class_type_info( - strdup( rttiName ), (__class_type_info *)base_rtti ); - } - else - { - // this class has no base class - rtti = new __class_type_info( strdup( rttiName ) ); - } - - pair< t_rtti_map::iterator, bool > insertion( - m_generatedRttis.insert( t_rtti_map::value_type( unoName, rtti ) ) ); - assert(insertion.second); - } - else // taking already generated rtti - { - rtti = iiFind->second; - } - } - } - else - { - rtti = iFind->second; - } - return rtti; -} - - -static void deleteException( void * pExc ) -{ - __cxa_exception const * header = ((__cxa_exception const *)pExc - 1); - typelib_TypeDescription * pTD = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); - ::typelib_typedescription_getByName( &pTD, unoName.pData ); - assert(pTD && "### unknown exception type! leaving out destruction => leaking!!!"); - if (pTD) - { - ::uno_destructData( pExc, pTD, cpp_release ); - ::typelib_typedescription_release( pTD ); - } -} - - -void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) -{ - void * pCppExc; - type_info * rtti; - - { - // construct cpp exception object - typelib_TypeDescription * pTypeDescr = 0; - TYPELIB_DANGER_GET( &pTypeDescr, pUnoExc->pType ); - if (! pTypeDescr) - terminate(); - - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - - // destruct uno exception - ::uno_any_destruct( pUnoExc, 0 ); - // avoiding locked counts - static RTTI rtti_data; - rtti = (type_info*)rtti_data.getRTTI((typelib_CompoundTypeDescription*)pTypeDescr); - TYPELIB_DANGER_RELEASE( pTypeDescr ); - if (! rtti) - terminate(); - } - - __cxa_throw( pCppExc, rtti, deleteException ); -} - - -void fillUnoException(uno_Any * pExc, uno_Mapping * pCpp2Uno) -{ - __cxa_exception * header = __cxa_get_globals()->caughtExceptions; - if (! header) - terminate(); - - std::type_info *exceptionType = __cxa_current_exception_type(); - - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( exceptionType->name() ) ); - ::typelib_typedescription_getByName( &pExcTypeDescr, unoName.pData ); - if (! pExcTypeDescr) - terminate(); - - // construct uno exception any - ::uno_any_constructAndConvert( pExc, header->adjustedPtr, pExcTypeDescr, pCpp2Uno ); - ::typelib_typedescription_release( pExcTypeDescr ); -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/bridges/source/cpp_uno/gcc3_aix_powerpc/share.hxx b/bridges/source/cpp_uno/gcc3_aix_powerpc/share.hxx deleted file mode 100644 index 5d775ea2381c..000000000000 --- a/bridges/source/cpp_uno/gcc3_aix_powerpc/share.hxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#pragma once - -#include "uno/mapping.h" - -#include <typeinfo> -#include <exception> -#include <cstddef> - -namespace CPPU_CURRENT_NAMESPACE -{ - - void dummy_can_throw_anything( char const * ); - - -// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - -struct _Unwind_Exception -{ - unsigned exception_class __attribute__((__mode__(__DI__))); - void * exception_cleanup; - unsigned private_1 __attribute__((__mode__(__word__))); - unsigned private_2 __attribute__((__mode__(__word__))); -} __attribute__((__aligned__)); - -struct __cxa_exception -{ - std::type_info *exceptionType; - void (*exceptionDestructor)(void *); - - void (*unexpectedHandler)(); // std::unexpected_handler dropped from C++17 - std::terminate_handler terminateHandler; - - __cxa_exception *nextException; - - int handlerCount; - - int handlerSwitchValue; - const unsigned char *actionRecord; - const unsigned char *languageSpecificData; - void *catchTemp; - void *adjustedPtr; - - _Unwind_Exception unwindHeader; -}; - -extern "C" void *__cxa_allocate_exception( - std::size_t thrown_size ) throw(); -extern "C" void __cxa_throw ( - void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ) __attribute__((noreturn)); - -struct __cxa_eh_globals -{ - __cxa_exception *caughtExceptions; - unsigned int uncaughtExceptions; -}; - -extern "C" __cxa_eh_globals *__cxa_get_globals () throw(); -extern "C" std::type_info *__cxa_current_exception_type() throw(); - -void raiseException( - uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ); - -void fillUnoException(uno_Any *, uno_Mapping * pCpp2Uno); -} - -namespace ppc -{ - enum ppclimits { MAX_GPR_REGS = 8, MAX_SSE_REGS = 13 }; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/bridges/source/cpp_uno/gcc3_aix_powerpc/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_aix_powerpc/uno2cpp.cxx deleted file mode 100644 index 103cc51d73a4..000000000000 --- a/bridges/source/cpp_uno/gcc3_aix_powerpc/uno2cpp.cxx +++ /dev/null @@ -1,501 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include <sys/types.h> -#include <sys/malloc.h> - -#include <com/sun/star/uno/Exception.hxx> -#include <com/sun/star/uno/RuntimeException.hxx> -#include <com/sun/star/uno/genfunc.hxx> -#include <o3tl/runtimetooustring.hxx> -#include <uno/data.h> - -#include "bridge.hxx" -#include "types.hxx" -#include "unointerfaceproxy.hxx" -#include "vtables.hxx" - -#include "share.hxx" - -#include <exception> -#include <stdio.h> -#include <string.h> -#include <typeinfo> - -using namespace ::com::sun::star::uno; - -namespace -{ - -void MapReturn(sal_uInt32 r3, sal_uInt32 r4, double dret, typelib_TypeClass eReturnType, void *pRegisterReturn) -{ - switch( eReturnType ) - { - case typelib_TypeClass_HYPER: - case typelib_TypeClass_UNSIGNED_HYPER: - ((long*)pRegisterReturn)[1] = r4; - // fall through on purpose - case typelib_TypeClass_LONG: - case typelib_TypeClass_UNSIGNED_LONG: - case typelib_TypeClass_ENUM: - ((long*)pRegisterReturn)[0] = r3; - break; - case typelib_TypeClass_CHAR: - case typelib_TypeClass_SHORT: - case typelib_TypeClass_UNSIGNED_SHORT: - *(unsigned short*)pRegisterReturn = (unsigned short)r3; - break; - case typelib_TypeClass_BOOLEAN: - case typelib_TypeClass_BYTE: - *(unsigned char*)pRegisterReturn = (unsigned char)r3; - break; - case typelib_TypeClass_FLOAT: - *(float*)pRegisterReturn = (float)dret; - break; - case typelib_TypeClass_DOUBLE: - *(double*)pRegisterReturn = dret; - break; - default: - break; - } -} - -#define DISPLACEMENT -2 - -static void callVirtualMethod( - void * pThis, - sal_uInt32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, - sal_uInt32 * pStack, - sal_uInt32 nStack, - double *pFPR, - sal_uInt32 nFPR) -{ - sal_uInt32 nStackWords = nStack; - if (nStackWords < ppc::MAX_GPR_REGS) - nStackWords = 0; - else - nStackWords-=ppc::MAX_GPR_REGS; - if (nStackWords) - nStackWords = ( nStackWords + 1) & ~1; - sal_uInt32 *stack = (sal_uInt32*)__builtin_alloca( nStackWords * sizeof(sal_uInt32) ); - memcpy(stack+DISPLACEMENT, pStack+ppc::MAX_GPR_REGS, nStack * sizeof(sal_uInt32)); - - // Get pointer to method - sal_uInt32 pMethod = *((sal_uInt32 *)pThis); - pMethod += 4 * nVtableIndex; - pMethod = *((sal_uInt32 *)pMethod); - - typedef void (* FunctionCall )( sal_uInt32, sal_uInt32, sal_uInt32, sal_uInt32, sal_uInt32, sal_uInt32, sal_uInt32, sal_uInt32 ); - FunctionCall pFunc = (FunctionCall)pMethod; - - register double d0 asm("fr1"); d0 = pFPR[0]; - register double d1 asm("fr2"); d1 = pFPR[1]; - register double d2 asm("fr3"); d2 = pFPR[2]; - register double d3 asm("fr4"); d3 = pFPR[3]; - register double d4 asm("fr5"); d4 = pFPR[4]; - register double d5 asm("fr6"); d5 = pFPR[5]; - register double d6 asm("fr7"); d6 = pFPR[6]; - register double d7 asm("fr8"); d7 = pFPR[7]; - register double d8 asm("fr9"); d8 = pFPR[8]; - register double d9 asm("fr10"); d9 = pFPR[9]; - register double d10 asm("fr11"); d10 = pFPR[10]; - register double d11 asm("fr12"); d11 = pFPR[11]; - register double d12 asm("fr13"); d12 = pFPR[12]; - - (*pFunc)(pStack[0], pStack[1], pStack[2], pStack[3], pStack[4], pStack[5], pStack[6], pStack[7]); - - register sal_uInt32 r3 asm("r3"); - register sal_uInt32 r4 asm("r4"); - MapReturn(r3, r4, d0, eReturnType, pRegisterReturn); -} - -#define INSERT_INT32(pSV, pDS) \ -{ \ - *pDS++ = *reinterpret_cast<sal_uInt32 *>(pSV); \ -} - -#define INSERT_INT16(pSV, pDS) \ -{ \ - *pDS++ = *reinterpret_cast<sal_uInt16 *>(pSV); \ -} - -#define INSERT_INT8(pSV, pDS) \ -{ \ - *pDS++ = *reinterpret_cast<sal_uInt8 *>(pSV); \ -} - -#define INSERT_FLOAT(pSV, nr, pFPR, pDS) \ -{ \ - if (nr < ppc::MAX_SSE_REGS) \ - { \ - sal_uInt32 *pDouble = (sal_uInt32 *)&(pFPR[nr++]); \ - pDouble[0] = *reinterpret_cast<sal_uInt32 *>(pSV); \ - } \ - *pDS++ = *reinterpret_cast<sal_uInt32 *>(pSV); \ -} - -#define INSERT_DOUBLE(pSV, nr, pFPR, pDS) \ -{ \ - if (nr < ppc::MAX_SSE_REGS) \ - { \ - pFPR[nr++] = *reinterpret_cast<double *>(pSV); \ - } \ - *pDS++ = reinterpret_cast<sal_uInt32 *>(pSV)[1]; \ - *pDS++ = reinterpret_cast<sal_uInt32 *>(pSV)[0]; \ -} - -#define INSERT_INT64(pSV, pDS) \ -{ \ - INSERT_INT32(pSV, pDS) \ - INSERT_INT32(((sal_uInt32*)pSV)+1, pDS) \ -} - -static void cpp_call( - bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, - bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -{ - // max space for: [complex ret ptr], values|ptr ... - sal_uInt32 * pStack = (sal_uInt32*)__builtin_alloca( sizeof(sal_Int32) + ((nParams+2) * sizeof(sal_Int64)) ); - sal_uInt32 * pStackStart = pStack; - - double pFPR[ppc::MAX_SSE_REGS]; - sal_uInt32 nFPR = 0; - - // return - typelib_TypeDescription * pReturnTypeDescr = 0; - TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef ); - assert(pReturnTypeDescr && "### expected return type description!"); - - void * pCppReturn = 0; // if != 0 && != pUnoReturn, needs reconversion - - if (pReturnTypeDescr) - { - if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr - pCppReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( pReturnTypeDescr ) - ? __builtin_alloca( pReturnTypeDescr->nSize ) - : pUnoReturn); // direct way - INSERT_INT32(&pCppReturn, pStack); - } - } - // push this - void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) + aVtableSlot.offset; - INSERT_INT32(&pAdjustedThisPtr, pStack); - - // stack space - static_assert( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" ); - // args - void ** pCppArgs = (void **)__builtin_alloca( 3 * sizeof(void *) * nParams ); - // indices of values this have to be converted (interface conversion cpp<=>uno) - sal_Int32 * pTempIndices = (sal_Int32 *)(pCppArgs + nParams); - // type descriptions for reconversions - typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pCppArgs + (2 * nParams)); - - sal_Int32 nTempIndices = 0; - - for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos ) - { - const typelib_MethodParameter & rParam = pParams[nPos]; - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - - if (!rParam.bOut - && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pStack, pUnoArgs[nPos], pParamTypeDescr, - pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { - case typelib_TypeClass_LONG: - case typelib_TypeClass_UNSIGNED_LONG: - case typelib_TypeClass_ENUM: - INSERT_INT32(pCppArgs[nPos], pStack); - break; - case typelib_TypeClass_SHORT: - case typelib_TypeClass_CHAR: - case typelib_TypeClass_UNSIGNED_SHORT: - INSERT_INT16(pCppArgs[nPos], pStack); - break; - case typelib_TypeClass_BOOLEAN: - case typelib_TypeClass_BYTE: - INSERT_INT8(pCppArgs[nPos], pStack); - break; - case typelib_TypeClass_FLOAT: - INSERT_FLOAT(pCppArgs[nPos], nFPR, pFPR, pStack); - break; - case typelib_TypeClass_DOUBLE: - INSERT_DOUBLE(pCppArgs[nPos], nFPR, pFPR, pStack); - break; - case typelib_TypeClass_HYPER: - case typelib_TypeClass_UNSIGNED_HYPER: - INSERT_INT64(pCppArgs[nPos], pStack); - break; - default: - break; - } - - // no longer needed - TYPELIB_DANGER_RELEASE( pParamTypeDescr ); - } - else // ptr to complex value | ref - { - if (! rParam.bIn) // is pure out - { - // cpp out is constructed mem, uno out is not! - uno_constructData( - pCppArgs[nPos] = __builtin_alloca( pParamTypeDescr->nSize ), - pParamTypeDescr ); - pTempIndices[nTempIndices] = nPos; // default constructed for cpp call - // will be released at reconversion - ppTempParamTypeDescr[nTempIndices++] = pParamTypeDescr; - } - // is in/inout - else if (bridges::cpp_uno::shared::relatesToInterfaceType( pParamTypeDescr )) - { - uno_copyAndConvertData( - pCppArgs[nPos] = __builtin_alloca( pParamTypeDescr->nSize ), - pUnoArgs[nPos], pParamTypeDescr, pThis->getBridge()->getUno2Cpp() ); - - pTempIndices[nTempIndices] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndices++] = pParamTypeDescr; - } - else // direct way - { - pCppArgs[nPos] = pUnoArgs[nPos]; - // no longer needed - TYPELIB_DANGER_RELEASE( pParamTypeDescr ); - } - INSERT_INT32(&(pCppArgs[nPos]), pStack); - } - } - - try - { - assert( !( (pCppStack - pCppStackStart ) & 3) && "UNALIGNED STACK !!! (Please DO panic)" ); - try { - callVirtualMethod( - pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - pStackStart, (pStack - pStackStart), pFPR, nFPR ); - } catch (css::uno::Exception &) { - throw; - } catch (std::exception & e) { - throw css::uno::RuntimeException( - "C++ code threw " + o3tl::runtimeToOUString(typeid(e).name()) + ": " - + o3tl::runtimeToOUString(e.what())); - } catch (...) { - throw css::uno::RuntimeException("C++ code threw unknown exception"); - } - // NO exception occurred... - *ppUnoExc = 0; - - // reconvert temporary params - for ( ; nTempIndices--; ) - { - sal_Int32 nIndex = pTempIndices[nTempIndices]; - typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndices]; - - if (pParams[nIndex].bIn) - { - if (pParams[nIndex].bOut) // inout - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, - pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, - pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - - TYPELIB_DANGER_RELEASE( pParamTypeDescr ); - } - // return value - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, - pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception - CPPU_CURRENT_NAMESPACE::fillUnoException(*ppUnoExc, pThis->getBridge()->getCpp2Uno()); - - // temporary params - for ( ; nTempIndices--; ) - { - sal_Int32 nIndex = pTempIndices[nTempIndices]; - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], ppTempParamTypeDescr[nTempIndices], cpp_release ); - TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndices] ); - } - // return type - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - } -} - -} - -namespace bridges::cpp_uno::shared { - -void unoInterfaceProxyDispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, - void * pReturn, void * pArgs[], uno_Any ** ppException ) -{ - // is my surrogate - bridges::cpp_uno::shared::UnoInterfaceProxy * pThis - = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * > (pUnoI); - // typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { - - VtableSlot aVtableSlot( - getVtableSlot( - reinterpret_cast< - typelib_InterfaceAttributeTypeDescription const * >( - pMemberDescr))); - - if (pReturn) - { - // dependent dispatch - cpp_call( - pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); - } - else - { - // is SET - typelib_MethodParameter aParam; - aParam.pTypeRef = - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef; - aParam.bIn = sal_True; - aParam.bOut = sal_False; - - typelib_TypeDescriptionReference * pReturnTypeRef = 0; - OUString aVoidName("void"); - typelib_typedescriptionreference_new( - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch - aVtableSlot.index += 1; //get then set method - cpp_call( - pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); - - typelib_typedescriptionreference_release( pReturnTypeRef ); - } - - break; - } - case typelib_TypeClass_INTERFACE_METHOD: - { - - VtableSlot aVtableSlot( - getVtableSlot( - reinterpret_cast< - typelib_InterfaceMethodTypeDescription const * >( - pMemberDescr))); - switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface - (*pUnoI->acquire)( pUnoI ); - *ppException = 0; - break; - case 2: // release uno interface - (*pUnoI->release)( pUnoI ); - *ppException = 0; - break; - case 0: // queryInterface() opt - { - typelib_TypeDescription * pTD = 0; - TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() ); - if (pTD) - { - uno_Interface * pInterface = 0; - (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( - pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { - ::uno_any_construct( - reinterpret_cast< uno_Any * >( pReturn ), - &pInterface, pTD, 0 ); - (*pInterface->release)( pInterface ); - TYPELIB_DANGER_RELEASE( pTD ); - *ppException = 0; - break; - } - TYPELIB_DANGER_RELEASE( pTD ); - } - } // else perform queryInterface() - default: - // dependent dispatch - cpp_call( - pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, - pReturn, pArgs, ppException ); - } - break; - } - default: - { - ::com::sun::star::uno::RuntimeException aExc( - "illegal member type description!", - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() ); - - Type const & rExcType = cppu::UnoType<decltype(aExc)>::get(); - // binary identical null reference - ::uno_type_any_construct( *ppException, &aExc, rExcType.getTypeLibType(), 0 ); - } - } -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/configure.ac b/configure.ac index 5f6e4b454ce1..b7107fb75e53 100644 --- a/configure.ac +++ b/configure.ac @@ -1092,15 +1092,6 @@ freebsd*) _os=NetBSD ;; -aix*) - using_freetype_fontconfig=yes - using_x11=yes - test_randr=no - test_gstreamer_1_0=no - PTHREAD_LIBS=-pthread - _os=AIX - ;; - openbsd*) using_freetype_fontconfig=yes using_x11=yes @@ -1271,13 +1262,6 @@ if test "$_os" = "Android" ; then fi fi -if test "$_os" = "AIX"; then - AC_PATH_PROG(GAWK, gawk) - if test -z "$GAWK"; then - AC_MSG_ERROR([gawk not found in \$PATH]) - fi -fi - AC_SUBST(SDKDIRNAME) AC_SUBST(PTHREAD_CFLAGS) @@ -2168,7 +2152,7 @@ AC_ARG_WITH(package-format, AS_HELP_STRING([--with-package-format], [Specify package format(s) for LibreOffice installation sets. The implicit --without-package-format leads to no installation sets being - generated. Possible values: aix, archive, bsd, deb, dmg, + generated. Possible values: archive, bsd, deb, dmg, installed, msi, pkg, and rpm. Example: --with-package-format='deb rpm']), ,) @@ -4961,16 +4945,6 @@ AC_SUBST(ENABLE_OPTIMIZED_DEBUG) # case "$host_os" in -aix*) - COM=GCC - CPUNAME=POWERPC - OS=AIX - RTL_OS=AIX - RTL_ARCH=PowerPC - PLATFORMID=aix_powerpc - P_SEP=: - ;; - cygwin*|wsl*) # Already handled ;; @@ -5489,11 +5463,10 @@ AC_MSG_CHECKING([which package format to use]) if test -n "$with_package_format" -a "$with_package_format" != no; then for i in $with_package_format; do case "$i" in - aix | bsd | deb | pkg | rpm | archive | dmg | installed | msi) + bsd | deb | pkg | rpm | archive | dmg | installed | msi) ;; *) AC_MSG_ERROR([unsupported format $i. Supported by EPM are: -aix - AIX software distribution bsd - FreeBSD, NetBSD, or OpenBSD software distribution deb - Debian software distribution pkg - Solaris software distribution @@ -8881,12 +8854,6 @@ AC_SUBST(JAWTLIB) if test -n "$ENABLE_JAVA" -a -z "$JAVAINC"; then case "$host_os" in - aix*) - JAVAINC="-I$JAVA_HOME/include" - JAVAINC="$JAVAINC -I$JAVA_HOME/include/aix" - test -d "$JAVA_HOME/include/native_thread" && JAVAINC="$JAVAINC -I$JAVA_HOME/include/native_thread" - ;; - cygwin*|wsl*) JAVAINC="-I$JAVA_HOME/include/win32" JAVAINC="$JAVAINC -I$JAVA_HOME/include" @@ -9196,7 +9163,7 @@ if test "$enable_epm" = "yes"; then else for i in $PKGFORMAT; do case "$i" in - aix | bsd | deb | pkg | rpm | native | portable) + bsd | deb | pkg | rpm | native | portable) AC_MSG_ERROR( [--with-package-format='$PKGFORMAT' requires --enable-epm]) ;; @@ -11561,7 +11528,7 @@ elif $GNUCP --version 2>/dev/null | grep "GNU fileutils" >/dev/null 2>/dev/null; AC_MSG_RESULT([yes]) else case "$build_os" in - darwin*|netbsd*|openbsd*|freebsd*|dragonfly*|aix*) + darwin*|netbsd*|openbsd*|freebsd*|dragonfly*) x_GNUCP=[\#] GNUCP='' AC_MSG_RESULT([no gnucp found - using the system's cp command]) @@ -14654,7 +14621,7 @@ else case "$host_os" in - aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) + dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) if test "$ENABLE_JAVA" != ""; then pathmunge "$JAVA_HOME/bin" "after" fi diff --git a/cppu/source/typelib/static_types.cxx b/cppu/source/typelib/static_types.cxx index 6b9a35ac9a06..bd6580d2591d 100644 --- a/cppu/source/typelib/static_types.cxx +++ b/cppu/source/typelib/static_types.cxx @@ -59,14 +59,7 @@ namespace { struct AlignSize_Impl { sal_Int16 nInt16; -#ifdef AIX - //double: doubleword aligned if -qalign=natural/-malign=natural - //which isn't the default ABI. Otherwise word aligned, While a long long int - //is always doubleword aligned, so use that instead. - sal_Int64 dDouble; -#else double dDouble; -#endif }; } diff --git a/cppu/source/typelib/typelib.cxx b/cppu/source/typelib/typelib.cxx index 293b4e3248c4..e2e87b03ff10 100644 --- a/cppu/source/typelib/typelib.cxx +++ b/cppu/source/typelib/typelib.cxx @@ -55,14 +55,7 @@ namespace { struct AlignSize_Impl { sal_Int16 nInt16; -#ifdef AIX - //double: doubleword aligned if -qalign=natural/-malign=natural - //which isn't the default ABI. Otherwise word aligned, While a long long int - //is always doubleword aligned, so use that instead. - sal_Int64 dDouble; -#else double dDouble; -#endif }; } @@ -1724,13 +1717,7 @@ extern "C" sal_Int32 typelib_typedescription_getAlignedUnoSize( nSize = rMaxIntegralTypeSize = sal_Int32(sizeof( float )); break; case typelib_TypeClass_DOUBLE: -#ifdef AIX - //See previous AIX ifdef comment for an explanation - nSize = (sal_Int32)(sizeof(double)); - rMaxIntegralTypeSize = (sal_Int32)(sizeof(void*)); -#else nSize = rMaxIntegralTypeSize = sal_Int32(sizeof( double )); -#endif break; case typelib_TypeClass_BYTE: nSize = rMaxIntegralTypeSize = sal_Int32(sizeof( sal_Int8 )); diff --git a/cpputools/scripts/uno.sh b/cpputools/scripts/uno.sh index f5222ba1c025..0da19fd87487 100755 --- a/cpputools/scripts/uno.sh +++ b/cpputools/scripts/uno.sh @@ -30,17 +30,8 @@ epath=$(dirname "$0") if [ -x "${epath}/javaldx" ] ; then jpath=$("${epath}/javaldx" $my_envargs) if [ -n "${jpath}" ]; then - sd_platform=$(uname -s) - case $sd_platform in - AIX) - LIBPATH=${jpath}${LIBPATH:+:${LIBPATH}} - export LIBPATH - ;; - *) - LD_LIBRARY_PATH=${jpath}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} - export LD_LIBRARY_PATH - ;; - esac + LD_LIBRARY_PATH=${jpath}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} + export LD_LIBRARY_PATH fi fi diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh index 67cc0b89751f..8866a2cc8cf1 100755 --- a/desktop/scripts/soffice.sh +++ b/desktop/scripts/soffice.sh @@ -163,10 +163,6 @@ NetBSD|DragonFly) LD_LIBRARY_PATH="$sd_prog${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" export LD_LIBRARY_PATH ;; -AIX) - LIBPATH="$sd_prog${LIBPATH:+:$LIBPATH}" - export LIBPATH - ;; esac # restore locale setting, avoiding to export empty LC_ALL, s. tdf#130080 diff --git a/desktop/scripts/unopkg.sh b/desktop/scripts/unopkg.sh index 3adf69c2e56e..de3823857fd2 100755 --- a/desktop/scripts/unopkg.sh +++ b/desktop/scripts/unopkg.sh @@ -49,10 +49,6 @@ NetBSD|FreeBSD|DragonFly) LD_LIBRARY_PATH="$sd_prog${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" export LD_LIBRARY_PATH ;; -AIX) - LIBPATH="$sd_prog${LIBPATH:+:${LIBPATH}}" - export LIBPATH - ;; esac for arg in "$@" @@ -72,17 +68,8 @@ if [ -x "${sd_prog}/javaldx" ] ; then my_path=$("${sd_prog}/javaldx" "$BOOTSTRAPVARS" \ "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc") if [ -n "$my_path" ] ; then - sd_platform=$(uname -s) - case "$sd_platform" in - AIX) - LIBPATH="$my_path${LIBPATH:+:$LIBPATH}" - export LIBPATH - ;; - *) - LD_LIBRARY_PATH="$my_path${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" - export LD_LIBRARY_PATH - ;; - esac + LD_LIBRARY_PATH="$my_path${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + export LD_LIBRARY_PATH fi fi diff --git a/desktop/source/deployment/misc/dp_platform.cxx b/desktop/source/deployment/misc/dp_platform.cxx index 879e617b7258..1f83bed37756 100644 --- a/desktop/source/deployment/misc/dp_platform.cxx +++ b/desktop/source/deployment/misc/dp_platform.cxx @@ -81,8 +81,6 @@ namespace ret = checkOSandCPU(u"Solaris", u"SPARC64"); else if (token == u"solaris_x86") ret = checkOSandCPU(u"Solaris", u"x86"); - else if (token == u"aix_powerpc") - ret = checkOSandCPU(u"AIX", u"PowerPC"); else if (token == u"macosx_aarch64") ret = checkOSandCPU(u"MacOSX", u"AARCH64"); else if (token == u"macosx_x86_64") diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c index ca2579c33a18..0bb009d9c598 100644 --- a/desktop/unx/source/start.c +++ b/desktop/unx/source/start.c @@ -584,14 +584,8 @@ static void exec_pagein (Args *args) static void extend_library_path(const char *new_element) { rtl_uString *pEnvName=NULL, *pOrigEnvVar=NULL, *pNewEnvVar=NULL; - const char *pathname; -#ifdef AIX - pathname = "LIBPATH"; -#else - pathname = "LD_LIBRARY_PATH"; -#endif - rtl_uString_newFromAscii(&pEnvName, pathname); + rtl_uString_newFromAscii(&pEnvName, "LD_LIBRARY_PATH"); rtl_uString_newFromAscii(&pNewEnvVar, new_element); osl_getEnvironment(pEnvName, &pOrigEnvVar); diff --git a/external/clucene/UnpackedTarball_clucene.mk b/external/clucene/UnpackedTarball_clucene.mk index c3928d335c57..76ceeb08f523 100644 --- a/external/clucene/UnpackedTarball_clucene.mk +++ b/external/clucene/UnpackedTarball_clucene.mk @@ -42,7 +42,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,clucene,\ external/clucene/patches/clucene-narrowing-conversions.patch \ external/clucene/patches/clucene-nullptr.patch \ external/clucene/patches/clucene-warnings.patch \ - external/clucene/patches/clucene-aix.patch \ external/clucene/patches/clucene-git1-win64.patch \ external/clucene/patches/clucene-ub.patch \ external/clucene/patches/clucene-mutex.patch \ diff --git a/external/clucene/patches/clucene-aix.patch b/external/clucene/patches/clucene-aix.patch deleted file mode 100644 index 2b796fa45bdc..000000000000 --- a/external/clucene/patches/clucene-aix.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -rc clucene.orig/src/core/CLucene/store/MMapInput.cpp clucene/src/core/CLucene/store/MMapInput.cpp -*** src/core/CLucene/store/MMapInput.cpp Wed Apr 10 10:57:37 2013 ---- src/core/CLucene/store/MMapInput.cpp Wed Apr 10 10:58:30 2013 -*************** -*** 115,121 **** - { - } - -! bool MMapIndexInput::open(const char* path, IndexInput*& ret, CLuceneError& error, int32_t __bufferSize ) { - - //Func - Constructor. - // Opens the file named path ---- 115,121 ---- - { - } - -! bool MMapIndexInput::Open(const char* path, IndexInput*& ret, CLuceneError& error, int32_t __bufferSize ) { - - //Func - Constructor. - // Opens the file named path -diff -rc clucene.orig/src/core/CLucene/store/_MMapIndexInput.h clucene/src/core/CLucene/store/_MMapIndexInput.h -*** src/core/CLucene/store/_MMapIndexInput.h Wed Apr 10 10:57:37 2013 ---- src/core/CLucene/store/_MMapIndexInput.h Wed Apr 10 10:58:53 2013 -*************** -*** 18,24 **** - MMapIndexInput(const MMapIndexInput& clone); - MMapIndexInput(Internal* _internal); - public: -! static bool open(const char* path, IndexInput*& ret, CLuceneError& error, int32_t __bufferSize); - - ~MMapIndexInput(); - IndexInput* clone() const; ---- 18,24 ---- - MMapIndexInput(const MMapIndexInput& clone); - MMapIndexInput(Internal* _internal); - public: -! static bool Open(const char* path, IndexInput*& ret, CLuceneError& error, int32_t __bufferSize); - - ~MMapIndexInput(); - IndexInput* clone() const; diff --git a/external/curl/ExternalPackage_curl.mk b/external/curl/ExternalPackage_curl.mk index ee0cf4501478..e9be1e9aa705 100644 --- a/external/curl/ExternalPackage_curl.mk +++ b/external/curl/ExternalPackage_curl.mk @@ -17,8 +17,6 @@ ifeq ($(COM),MSC) $(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).dll,builds/libcurl-vc12-$(gb_MSBUILD_PLATFORM)-$(gb_MSBUILD_CONFIG)-dll-zlib-static-ipv6-sspi-schannel/bin/libcurl$(if $(MSVC_USE_DEBUG_RUNTIME),_debug).dll)) else ifeq ($(OS),MACOSX) $(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.4.dylib,lib/.libs/libcurl.4.dylib)) -else ifeq ($(OS),AIX) -$(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.so,lib/.libs/libcurl.so.4)) else $(eval $(call gb_ExternalPackage_add_file,curl,$(LIBO_LIB_FOLDER)/libcurl.so.4,lib/.libs/libcurl.so.4.8.0)) endif diff --git a/external/hunspell/ExternalProject_hunspell.mk b/external/hunspell/ExternalProject_hunspell.mk index c63498af73fc..47c4c736bd44 100644 --- a/external/hunspell/ExternalProject_hunspell.mk +++ b/external/hunspell/ExternalProject_hunspell.mk @@ -28,7 +28,6 @@ $(call gb_ExternalProject_get_state_target,hunspell,build): $(call gb_ExternalProject_run,build,\ $(gb_RUN_CONFIGURE) ./configure --disable-shared --disable-nls --with-pic \ $(gb_CONFIGURE_PLATFORMS) \ - $(if $(filter AIX,$(OS)),CFLAGS="-D_LINUX_SOURCE_COMPAT") \ $(if $(hunspell_CPPFLAGS),CPPFLAGS='$(hunspell_CPPFLAGS)') \ $(if $(hunspell_CXXFLAGS),CXXFLAGS='$(hunspell_CXXFLAGS)') \ $(if $(hunspell_LDFLAGS),LDFLAGS='$(hunspell_LDFLAGS)') \ diff --git a/external/icu/ExternalProject_icu.mk b/external/icu/ExternalProject_icu.mk index 1fd0600fe5c6..5388eee58983 100644 --- a/external/icu/ExternalProject_icu.mk +++ b/external/icu/ExternalProject_icu.mk @@ -74,7 +74,7 @@ $(call gb_ExternalProject_get_state_target,icu,build) : --disable-layout --disable-samples \ $(if $(filter FUZZERS,$(BUILD_TYPE)),--disable-release) \ $(if $(filter EMSCRIPTEN ANDROID,$(OS)),--disable-strict ac_cv_c_bigendian=no) \ - $(if $(filter SOLARIS AIX,$(OS)),--disable-64bit-libs) \ + $(if $(filter SOLARIS,$(OS)),--disable-64bit-libs) \ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),\ --with-data-packaging=static --enable-static --disable-shared --disable-dyload,\ --disable-static --enable-shared $(if $(filter ANDROID,$(OS)),--with-library-suffix=lo)) \ diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk index f58223d5bc5f..b5b072b1e1e6 100644 --- a/external/icu/UnpackedTarball_icu.mk +++ b/external/icu/UnpackedTarball_icu.mk @@ -23,7 +23,6 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,icu,0)) $(eval $(call gb_UnpackedTarball_add_patches,icu,\ external/icu/icu4c-build.patch.1 \ - external/icu/icu4c-aix.patch.1 \ external/icu/icu4c-warnings.patch.1 \ external/icu/icu4c-macosx.patch.1 \ external/icu/icu4c-solarisgcc.patch.1 \ diff --git a/external/icu/icu4c-aix.patch.1 b/external/icu/icu4c-aix.patch.1 deleted file mode 100644 index bcbbe3ab9484..000000000000 --- a/external/icu/icu4c-aix.patch.1 +++ /dev/null @@ -1,143 +0,0 @@ -diff -ur icu.org/source/config/mh-aix-gcc icu/source/config/mh-aix-gcc ---- icu.org/source/config/mh-aix-gcc 2021-10-28 18:04:57.000000000 +0200 -+++ icu/source/config/mh-aix-gcc 2021-11-15 18:35:48.737774348 +0100 -@@ -18,84 +18,29 @@ - GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) - GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) - --## Commands to link --## We need to use the C++ linker, even when linking C programs, since --## our libraries contain C++ code (C++ static init not called) --LINK.c= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) --LINK.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -- --## Shared library options --LD_SOOPTIONS= -Wl,-bsymbolic -- --## Commands to make a shared library --SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) --SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -- --## Compiler switch to embed a runtime search path --LD_RPATH= -I --LD_RPATH_PRE= -+## Flags for position independent code -+SHAREDLIBCFLAGS = -fPIC -+SHAREDLIBCXXFLAGS = -fPIC -+SHAREDLIBCPPFLAGS = -DPIC -+ -+## Additional flags when building libraries and with threads -+THREADSCPPFLAGS = -D_REENTRANT -D_THREAD_SAFE -+LIBCPPFLAGS = - --## enable the shared lib loader --LDFLAGS += -Wl,-bbigtoc -+LD_RPATH= -+LD_RPATH_PRE= - - ## These are the library specific LDFLAGS - LDFLAGSICUDT=-nodefaultlibs -nostdlib - --## We need to delete things prior to linking, or else we'll get --## SEVERE ERROR: output file in use .. on AIX. --## But, shell script version should NOT delete target as we don't --## have $@ in that context. (SH = only shell script, icu-config) --AIX_PREDELETE=rm -f $@ ; --#SH# AIX_PREDELETE= -- - ## Environment variable to set a runtime search path - LDLIBRARYPATH_ENVVAR = LIBPATH - --## Override Versioned target for a shared library. --FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO) --MIDDLE_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) --SHARED_OBJECT = $(notdir $(FINAL_SO_TARGET:.$(SO)=.$(SOBJ))) --SHARED_OBJECT_NO_VERSION = $(basename $(SO_TARGET)).$(SOBJ) -- --# The following is for Makefile.inc's use. --ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR) -- --# this one is for icudefs.mk's use --ifeq ($(ENABLE_SHARED),YES) --SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) --endif -- --## Compiler switch to embed a library name. Not present on AIX. --LD_SONAME = -- --## The type of assembly needed when pkgdata is used for generating shared libraries. --GENCCODE_ASSEMBLY=-a xlc -- - ## Shared object suffix --SOBJ= so --# without the -brtl option, the library names use .a. AIX is funny that way. --SO= a --A= a -+SO= so - - ## Non-shared intermediate object suffix --STATIC_O = o -- --## Special AIX rules -- --## Build archive from shared object --%.a : %.so -- ln -f $< $(SHARED_OBJECT_NO_VERSION) -- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION) -- rm -f $(SHARED_OBJECT_NO_VERSION) --$(LIBDIR)/%.a : %.so -- ln -f $< $(SHARED_OBJECT_NO_VERSION) -- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION) -- rm -f $(SHARED_OBJECT_NO_VERSION) -- --## Build import list from export list --%.e : %.exp -- @echo "Building an import list for $<" -- @$(SHELL) -ec "echo '#! $*.a($*.so)' | cat - $< > $@" -+STATIC_O = ao - - ## Compilation rules - %.$(STATIC_O): $(srcdir)/%.c -@@ -123,10 +68,10 @@ - [ -s $@ ] || rm -f $@' - - ## Versioned libraries rules --%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) -- $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@ --%.$(SO): %$(SO_TARGET_VERSION).$(SO) -- $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@ -+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) -+ $(RM) $@ && ln -s ${<F} $@ -+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) -+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ - - - ## BIR - bind with internal references [so app data and icu data doesn't collide] -diff -ur icu.org/source/tools/pkgdata/pkgdata.cpp icu/source/tools/pkgdata/pkgdata.cpp ---- icu.org/source/tools/pkgdata/pkgdata.cpp 2021-10-28 18:04:57.000000000 +0200 -+++ icu/source/tools/pkgdata/pkgdata.cpp 2021-11-15 18:28:38.342143852 +0100 -@@ -959,7 +959,7 @@ - - uprv_strcat(pkgDataFlags[SO_EXT], "."); - uprv_strcat(pkgDataFlags[SO_EXT], pkgDataFlags[A_EXT]); --#elif U_PLATFORM == U_PF_OS400 || defined(_AIX) -+#elif U_PLATFORM == U_PF_OS400 - sprintf(libFileNames[LIB_FILE_VERSION_TMP], "%s%s%s", - libFileNames[LIB_FILE], - FILE_EXTENSION_SEP, -@@ -1439,15 +1439,6 @@ - pkgDataFlags[LDICUDTFLAGS], - targetDir, - libFileNames[LIB_FILE_CYGWIN_VERSION], --#elif U_PLATFORM == U_PF_AIX -- sprintf(cmd, "%s %s%s;%s %s -o %s%s %s %s%s %s %s", -- RM_CMD, -- targetDir, -- libFileNames[LIB_FILE_VERSION_TMP], -- pkgDataFlags[GENLIB], -- pkgDataFlags[LDICUDTFLAGS], -- targetDir, -- libFileNames[LIB_FILE_VERSION_TMP], - #else - sprintf(cmd, "%s %s -o %s%s %s %s%s %s %s", - pkgDataFlags[GENLIB], diff --git a/external/libexttextcat/ExternalProject_libexttextcat.mk b/external/libexttextcat/ExternalProject_libexttextcat.mk index 8adaaee75324..479bc9bb3b60 100644 --- a/external/libexttextcat/ExternalProject_libexttextcat.mk +++ b/external/libexttextcat/ExternalProject_libexttextcat.mk @@ -21,8 +21,7 @@ $(call gb_ExternalProject_get_state_target,libexttextcat,build): $(if $(ENABLE_WERROR),--enable-werror,--disable-werror) \ $(gb_CONFIGURE_PLATFORMS) \ CFLAGS="$(CFLAGS) $(gb_VISIBILITY_FLAGS) $(gb_DEBUGINFO_FLAGS) $(call gb_ExternalProject_get_build_flags,libexttextcat) \ - $(if $(COM_IS_CLANG),-Qunused-arguments) \ - $(if $(filter AIX,$(OS)),-D_LINUX_SOURCE_COMPAT)" \ + $(if $(COM_IS_CLANG),-Qunused-arguments)" \ LDFLAGS="$(call gb_ExternalProject_get_link_flags,libexttextcat)" \ && $(MAKE) \ ) diff --git a/external/libnumbertext/ExternalProject_libnumbertext.mk b/external/libnumbertext/ExternalProject_libnumbertext.mk index bd96b162d888..71376be45dbd 100644 --- a/external/libnumbertext/ExternalProject_libnumbertext.mk +++ b/external/libnumbertext/ExternalProject_libnumbertext.mk @@ -28,7 +28,6 @@ $(call gb_ExternalProject_get_state_target,libnumbertext,build): $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ $(if $(ENABLE_WERROR),--enable-werror,--disable-werror) \ $(gb_CONFIGURE_PLATFORMS) \ - $(if $(filter AIX,$(OS)),CFLAGS="-D_LINUX_SOURCE_COMPAT") \ $(if $(libnumbertext_CPPFLAGS),CPPFLAGS='$(libnumbertext_CPPFLAGS)') \ CXXFLAGS="$(libnumbertext_CXXFLAGS) \ $(call gb_ExternalProject_get_build_flags,libnumbertext) \ diff --git a/external/lpsolve/ExternalProject_lpsolve.mk b/external/lpsolve/ExternalProject_lpsolve.mk index 7b5338b24725..21843f713c58 100644 --- a/external/lpsolve/ExternalProject_lpsolve.mk +++ b/external/lpsolve/ExternalProject_lpsolve.mk @@ -29,8 +29,7 @@ $(call gb_ExternalProject_get_state_target,lpsolve,build): $(if $(filter MACOSX,$(OS)),EXTRA_LINKFLAGS='-install_name @__________________________________________________OOO/liblpsolve55.dylib') \ sh -e $(if $(filter MACOSX,$(OS)),ccc.osx, \ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),ccc.static, \ - $(if $(filter AIXGCC,$(OS)$(COM)),ccc.aix.gcc, \ - ccc))) \ + ccc)) \ ,lpsolve55) $(call gb_Trace_EndRange,lpsolve,EXTERNAL) endif # $(OS) diff --git a/external/lpsolve/UnpackedTarball_lpsolve.mk b/external/lpsolve/UnpackedTarball_lpsolve.mk index 3d17c0e9b928..62a182dc7517 100644 --- a/external/lpsolve/UnpackedTarball_lpsolve.mk +++ b/external/lpsolve/UnpackedTarball_lpsolve.mk @@ -23,7 +23,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,lpsolve,\ else $(eval $(call gb_UnpackedTarball_add_patches,lpsolve,\ - external/lpsolve/lp_solve-aix.patch \ external/lpsolve/lp_solve-fixed-warn.patch \ external/lpsolve/lp_solve_5.5.patch \ external/lpsolve/lpsolve-ubsan.patch.0 \ diff --git a/external/lpsolve/lp_solve-aix.patch b/external/lpsolve/lp_solve-aix.patch deleted file mode 100644 index 6ad5877ca499..000000000000 --- a/external/lpsolve/lp_solve-aix.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- /dev/null 2010-07-28 04:47:47.000000000 -0500 -+++ misc/build/lp_solve_5.5/lpsolve55/ccc.aix.gcc 2010-06-29 17:44:53.000000000 -0500 -@@ -0,0 +1,25 @@ -+src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../colamd/colamd.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c' -+c=$CC -+ -+def= -+so= -+if [ "$PLATFORM" = "SCO_UNIX" ] -+then def='-dy -K PIC -DNOLONGLONG' -+ dl=-lc -+else dl=-ldl -+ so=y -+fi -+ -+opts='-O3' -+ -+$c -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src -+ar rv liblpsolve55.a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -+ranlib liblpsolve55.a -+ -+if [ "$so" != "" ] -+then -+ $c -fpic -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src -+ $c -shared $lpsolve_LDFLAGS -o liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl -+fi -+ -+rm *.o 2>/dev/null ---- misc/lp_solve_5.5/lp_lib.h 2010-07-28 05:15:10.000000000 -0500 -+++ misc/build/lp_solve_5.5/lp_lib.h 2010-07-28 05:15:55.000000000 -0500 -@@ -56,7 +56,7 @@ - /* Define user program feature option switches */ - /* ------------------------------------------------------------------------- */ - --#if !defined _WINDOWS && !defined _WIN32 && !defined WIN32 -+#if !defined _WINDOWS && !defined _WIN32 && !defined WIN32 && !defined(_AIX) - # define _isnan(x) FALSE - #endif - diff --git a/external/nss/UnpackedTarball_nss.mk b/external/nss/UnpackedTarball_nss.mk index e589ea9698e3..bf2a93233e60 100644 --- a/external/nss/UnpackedTarball_nss.mk +++ b/external/nss/UnpackedTarball_nss.mk @@ -15,7 +15,6 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,nss,nspr/build/autoconf $(eval $(call gb_UnpackedTarball_add_patches,nss,\ external/nss/nss.patch \ - external/nss/nss.aix.patch \ external/nss/nss_macosx.patch \ external/nss/nss-win32-make.patch.1 \ external/nss/ubsan.patch.0 \ diff --git a/external/nss/nss.aix.patch b/external/nss/nss.aix.patch deleted file mode 100644 index 10572f94717a..000000000000 --- a/external/nss/nss.aix.patch +++ /dev/null @@ -1,140 +0,0 @@ -diff -ru a/nspr/configure b/nspr/configure ---- a/a/nspr/configure 2014-09-29 16:47:42.984012225 +0100 -+++ b/b/nspr/configure 2014-09-29 16:50:33.907375937 +0100 -@@ -6325,7 +6325,6 @@ - AIX_LINK_OPTS='-brtl -bnso -berok' - ;; - esac -- CFLAGS="$CFLAGS -qro -qroconst" - AIX_WRAP='$(DIST)/lib/aixwrap.o' - AIX_TMP='./_aix_tmp.o' - if test -n "$USE_64"; then -diff -ru a/nspr/configure.in b/nspr/configure.in ---- a/a/nspr/configure.in 2014-09-29 16:46:35.257394860 +0100 -+++ b/b/nspr/configure.in 2014-09-29 16:50:33.908375942 +0100 -@@ -1180,7 +1180,8 @@ - AC_DEFINE(XP_UNIX) - AC_DEFINE(AIX) - AC_DEFINE(SYSV) -- DSO_LDOPTS='-brtl -bnortllib -bM:SRE -bnoentry -bexpall -blibpath:/usr/lib:/lib' -+ DSO_LDOPTS='-Wl,-brtl -Wl,-bnortllib -Wl,-blibpath:/usr/lib:/lib' -+ MKSHLIB='$(CCC) -shared $(DSO_LDOPTS) -o $@' - AC_CHECK_HEADER(sys/atomic_op.h, AC_DEFINE(AIX_HAVE_ATOMIC_OP_H)) - case "${target_os}" in - aix3.2*) -@@ -1220,10 +1221,9 @@ - AC_DEFINE(HAVE_SOCKLEN_T) - AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) - USE_IPV6=1 -- AIX_LINK_OPTS='-brtl -bnso -berok' -+ AIX_LINK_OPTS='-Wl,-brtl -Wl,-bnso -Wl,-berok' - ;; - esac -- CFLAGS="$CFLAGS -qro -qroconst" - AIX_WRAP='$(DIST)/lib/aixwrap.o' - AIX_TMP='./_aix_tmp.o' - if test -n "$USE_64"; then -diff -ru a/nspr/pr/src/Makefile.in b/nspr/pr/src/Makefile.in ---- a/a/nspr/pr/src/Makefile.in 2014-09-29 16:46:35.281395079 +0100 -+++ b/b/nspr/pr/src/Makefile.in 2014-09-29 16:50:33.909375948 +0100 -@@ -74,7 +74,6 @@ - endif # SunOS - - ifeq ($(OS_ARCH),AIX) --DSO_LDOPTS += -binitfini::_PR_Fini - OS_LIBS = -lodm -lcfg - ifeq ($(CLASSIC_NSPR),1) - ifeq ($(OS_RELEASE),4.1) -diff -ru a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk ---- a/a/nss/cmd/platlibs.mk 2014-09-29 16:47:42.987012253 +0100 -+++ b/b/nss/cmd/platlibs.mk 2014-09-29 16:50:33.910375955 +0100 -@@ -171,7 +171,7 @@ - $(NULL) - - ifeq ($(OS_ARCH), AIX) --EXTRA_SHARED_LIBS += -brtl -+EXTRA_SHARED_LIBS += -Wl,-brtl - endif - - # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) -@@ -217,7 +217,7 @@ - $(NULL) - - ifeq ($(OS_ARCH), AIX) --EXTRA_SHARED_LIBS += -brtl -+EXTRA_SHARED_LIBS += -Wl,-brtl - endif - - # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) -diff -ru a/nss/cmd/shlibsign/Makefile b/nss/cmd/shlibsign/Makefile ---- a/a/nss/cmd/shlibsign/Makefile 2014-09-29 16:46:35.139393785 +0100 -+++ b/b/nss/cmd/shlibsign/Makefile 2014-09-29 16:50:33.910375955 +0100 -@@ -43,6 +43,9 @@ - - endif - -+ifeq ($(OS), AIX) -+EXTRA_SHARED_LIBS += -lpthreads -+endif - - # sign any and all shared libraries that contain the word freebl - ifeq ($(NSS_BUILD_WITHOUT_SOFTOKEN),1) -diff -ru a/nss/cmd/shlibsign/mangle/Makefile b/nss/cmd/shlibsign/mangle/Makefile ---- a/a/nss/cmd/shlibsign/mangle/Makefile 2014-09-29 16:46:35.139393785 +0100 -+++ b/b/nss/cmd/shlibsign/mangle/Makefile 2014-09-29 16:50:33.910375955 +0100 -@@ -43,7 +43,9 @@ - - endif - -- -+ifeq ($(OS), AIX) -+EXTRA_SHARED_LIBS += -lpthreads -+endif - - ####################################################################### - # (5) Execute "global" rules. (OPTIONAL) # -diff -ru a/nss/coreconf/AIX.mk b/nss/coreconf/AIX.mk ---- a/a/nss/coreconf/AIX.mk 2014-09-29 16:46:35.040392883 +0100 -+++ b/b/nss/coreconf/AIX.mk 2014-09-29 16:50:33.909375948 +0100 -@@ -30,35 +30,30 @@ - - DEFAULT_COMPILER = xlc_r - --CC = xlc_r --CCC = xlC_r -+CCC = $(CXX) - - CPU_ARCH = rs6000 - - RANLIB = ranlib - - OS_CFLAGS = -DAIX -DSYSV --OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm -+OS_LIBS += -Wl,-blibpath:/usr/lib:/lib -lc -lm - --DSO_LDOPTS = -brtl -bnortllib -bM:SRE -bnoentry --MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm -+DSO_LDOPTS = -Wl,-brtl -Wl,-bnortllib -+MKSHLIB = $(CC) --shared $(DSO_LDOPTS) -Wl,-blibpath:/usr/lib:/lib -lc -lm - - AIX_WRAP = $(DIST)/lib/aixwrap.o - AIX_TMP = $(OBJDIR)/_aix_tmp.o - - ifdef MAPFILE --DSO_LDOPTS += -bexport:$(MAPFILE) -+DSO_LDOPTS += -Wl,-bexport:$(MAPFILE) - else --DSO_LDOPTS += -bexpall -+DSO_LDOPTS += -Wl,-bexpall - endif - - PROCESS_MAP_FILE = grep -v ';+' $< | grep -v ';-' | \ - sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' > $@ - --ifdef BUILD_OPT -- OPTIMIZER += -qmaxmem=-1 --endif -- - ifeq ($(USE_64), 1) - OS_CFLAGS += -DAIX_64BIT - OBJECT_MODE=64 diff --git a/external/openldap/ExternalProject_openldap.mk b/external/openldap/ExternalProject_openldap.mk index 5f85fb323056..6914d167b56c 100644 --- a/external/openldap/ExternalProject_openldap.mk +++ b/external/openldap/ExternalProject_openldap.mk @@ -26,8 +26,7 @@ endif openldap_LDFLAGS = $(call gb_ExternalProject_get_link_flags,openldap) ifeq ($(SYSTEM_NSS),) -openldap_LDFLAGS += -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib \ - $(if $(filter AIX,$(OS)),-Wl$(COMMA)-brtl) +openldap_LDFLAGS += -L$(call gb_UnpackedTarball_get_dir,nss)/dist/out/lib endif # Help openldap's configure determine that it needs -lpthread even if libasan.so # contains a pthread_create override: diff --git a/external/openssl/openssl-no-ipc-cmd.patch.0 b/external/openssl/openssl-no-ipc-cmd.patch.0 index 7f75b8ce64fe..8c6b2c58d63a 100644 --- a/external/openssl/openssl-no-ipc-cmd.patch.0 +++ b/external/openssl/openssl-no-ipc-cmd.patch.0 @@ -40,29 +40,6 @@ if ( $CC ) { # Find the compiler vendor and version number for certain compilers -@@ -364,14 +365,14 @@ - } - } - -- if ( ${SYSTEM} eq 'AIX' ) { -- # favor vendor cc over gcc -- if (IPC::Cmd::can_run('cc')) { -- $CC = 'cc'; -- $CCVENDOR = ''; # Determine later -- $CCVER = 0; -- } -- } -+# if ( ${SYSTEM} eq 'AIX' ) { -+# # favor vendor cc over gcc -+# if (IPC::Cmd::can_run('cc')) { -+# $CC = 'cc'; -+# $CCVENDOR = ''; # Determine later -+# $CCVER = 0; -+# } -+# } - - if ( $SYSTEM eq "SunOS" ) { - # check for Oracle Developer Studio, expected output is "cc: blah-blah C x.x blah-blah" --- util/perl/OpenSSL/config.pm.orig 2022-11-08 12:54:59.751298823 +0100 +++ util/perl/OpenSSL/config.pm 2022-11-08 12:55:16.436287053 +0100 @@ -52,13 +52,13 @@ diff --git a/external/python3/ExternalPackage_python3.mk b/external/python3/ExternalPackage_python3.mk index 9987ab138792..ee97cb341505 100644 --- a/external/python3/ExternalPackage_python3.mk +++ b/external/python3/ExternalPackage_python3.mk @@ -57,7 +57,6 @@ $(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python.bin- # Obviously this list should not contain stuff with external dependencies # that may not be available on baseline systems. -ifneq ($(OS),AIX) python3_EXTENSION_MODULE_SUFFIX=cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)$(if $(ENABLE_DBGUTIL),d) python3_EXTENSION_MODULES= \ LO_lib/array.$(python3_EXTENSION_MODULE_SUFFIX).so \ @@ -129,7 +128,6 @@ $(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-cor $(python3_EXTENSION_MODULES) \ )) endif -endif # headers are not delivered, but used from unpacked dir Include/ # (+ toplevel for pyconfig.h) diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk index faa8e97387d4..f1c5f6d9b4a5 100644 --- a/external/python3/ExternalProject_python3.mk +++ b/external/python3/ExternalProject_python3.mk @@ -92,8 +92,6 @@ $(call gb_ExternalProject_get_state_target,python3,build) : $(if $(ENABLE_DBGUTIL),--with-pydebug) \ --prefix=/python-inst \ --with-system-expat \ - $(if $(filter AIX,$(OS)), \ - --disable-ipv6 --with-threads OPT="-g0 -fwrapv -O3 -Wall") \ $(if $(filter MACOSX,$(OS)), \ $(if $(filter INTEL,$(CPUNAME)),--enable-universalsdk=$(MACOSX_SDK_PATH) \ --with-universal-archs=intel \ diff --git a/external/redland/UnpackedTarball_rasqal.mk b/external/redland/UnpackedTarball_rasqal.mk index bb44f39a6f5a..16d67d6c18f2 100644 --- a/external/redland/UnpackedTarball_rasqal.mk +++ b/external/redland/UnpackedTarball_rasqal.mk @@ -22,7 +22,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,rasqal,\ external/redland/rasqal/rasqal-pkgconfig.patch.1 \ external/redland/rasqal/rasqal-freebsd.patch.1 \ external/redland/rasqal/rasqal-msvc.patch.1 \ - external/redland/rasqal/rasqal-aix.patch.1 \ $(if $(filter-out WNT,$(OS)),external/redland/rasqal/rasqal-bundled-soname.patch.1) \ $(if $(filter ANDROID,$(OS)),external/redland/rasqal/rasqal-android.patch.1) \ $(if $(CROSS_COMPILING),external/redland/rasqal/rasqal-xcompile.patch.1) \ diff --git a/external/redland/rasqal/rasqal-aix.patch.1 b/external/redland/rasqal/rasqal-aix.patch.1 deleted file mode 100644 index d755aa2e568e..000000000000 --- a/external/redland/rasqal/rasqal-aix.patch.1 +++ /dev/null @@ -1,25 +0,0 @@ ---- a/src/rasqal_literal.c 2013-03-29 21:22:57.413852072 +0100 -+++ b/src/rasqal_literal.c 2013-03-29 21:23:34.092851757 +0100 -@@ -46,10 +46,22 @@ - #include <stddef.h> - #endif - #include <stdarg.h> -+#ifdef _AIX -+# ifndef isnan -+# define isnan(x) \ -+ (sizeof (x) == sizeof (long double) ? isnan_ld (x) \ -+ : sizeof (x) == sizeof (double) ? isnan_d (x) \ -+ : isnan_f (x)) -+ static inline int isnan_f (float x) { return x != x; } -+ static inline int isnan_d (double x) { return x != x; } -+ static inline int isnan_ld (long double x) { return x != x; } -+# endif -+#else - /* for isnan() */ - #ifdef HAVE_MATH_H - #include <math.h> - #endif -+#endif - /* for INT_MIN and INT_MAX */ - #ifdef HAVE_LIMITS_H - #include <limits.h> diff --git a/external/xmlsec/ExternalProject_xmlsec.mk b/external/xmlsec/ExternalProject_xmlsec.mk index f41e9362fd0b..1f7566ac1eb8 100644 --- a/external/xmlsec/ExternalProject_xmlsec.mk +++ b/external/xmlsec/ExternalProject_xmlsec.mk @@ -46,7 +46,6 @@ $(call gb_ExternalProject_get_state_target,xmlsec,build) : $(call gb_Trace_StartRange,xmlsec,EXTERNAL) $(call gb_ExternalProject_run,build,\ $(if $(filter iOS MACOSX,$(OS_FOR_BUILD)),ACLOCAL="aclocal -I $(SRCDIR)/m4/mac") \ - $(if $(filter AIX,$(OS)),ACLOCAL="aclocal -I /opt/freeware/share/aclocal") \ autoreconf \ && $(gb_RUN_CONFIGURE) ./configure \ --with-pic --disable-shared --disable-crypto-dl --without-libxslt --without-gnutls --without-gcrypt --disable-apps --disable-docs \ diff --git a/helpcompiler/inc/HelpLinker.hxx b/helpcompiler/inc/HelpLinker.hxx index 24bcb9ebd041..5087e47ae08d 100644 --- a/helpcompiler/inc/HelpLinker.hxx +++ b/helpcompiler/inc/HelpLinker.hxx @@ -26,10 +26,6 @@ #include "HelpCompiler.hxx" #include <libxslt/xsltInternals.h> -#ifdef AIX -# undef _THREAD_SAFE -#endif - class L10N_DLLPUBLIC IndexerPreProcessor { private: diff --git a/include/LibreOfficeKit/LibreOfficeKitInit.h b/include/LibreOfficeKit/LibreOfficeKitInit.h index 506f373c5108..695784d27941 100644 --- a/include/LibreOfficeKit/LibreOfficeKitInit.h +++ b/include/LibreOfficeKit/LibreOfficeKitInit.h @@ -18,7 +18,7 @@ # define LOK_TOLERATE_UNUSED #endif -#if defined(__linux__) || defined (__FreeBSD__) || defined(_AIX) ||\ +#if defined(__linux__) || defined (__FreeBSD__) ||\ defined(_WIN32) || defined(__APPLE__) || defined (__NetBSD__) ||\ defined (__sun) || defined(__OpenBSD__) || defined(__EMSCRIPTEN__) @@ -31,9 +31,6 @@ #include <dlfcn.h> - #ifdef _AIX - # include <sys/ldr.h> - #endif #ifdef __APPLE__ #define TARGET_LIB "lib" "sofficeapp" ".dylib" #define TARGET_MERGED_LIB "lib" "mergedlo" ".dylib" @@ -359,7 +356,7 @@ int lok_preinit( const char *install_path, const char *user_profile_url ) } #endif -#endif // defined(__linux__) || defined (__FreeBSD__) || defined(_AIX) || defined(_WIN32) || defined(__APPLE__) +#endif // defined(__linux__) || defined (__FreeBSD__) || defined(_WIN32) || defined(__APPLE__) #endif // INCLUDED_LIBREOFFICEKIT_LIBREOFFICEKITINIT_H diff --git a/include/osl/endian.h b/include/osl/endian.h index fb9b514c128a..dd2786186e78 100644 --- a/include/osl/endian.h ... etc. - the rest is truncated