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

Reply via email to