diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2023-01-23 11:28:21 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2023-01-27 07:28:16 +0000 |
commit | 70bcf9e8bea1fee9cca44437730324ba7805b633 (patch) | |
tree | d8d97927d773fd753ab569d1f0ace95917d14849 | |
parent | 12a5e9bd92c0969051e035a4f2b7c18f0e3e79b5 (diff) |
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 <sbergman@redhat.com>
77 files changed, 39 insertions, 2401 deletions
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 +++ b/include/osl/endian.h @@ -60,13 +60,6 @@ extern "C" { # elif defined _BIG_ENDIAN # define OSL_BIGENDIAN # endif -#elif defined AIX -# include <sys/machine.h> -# if BYTE_ORDER == LITTLE_ENDIAN -# define OSL_LITENDIAN -# elif BYTE_ORDER == BIG_ENDIAN -# define OSL_BIGENDIAN -# endif #elif defined __sun # include <sys/isa_defs.h> # if defined _LITTLE_ENDIAN diff --git a/include/sal/alloca.h b/include/sal/alloca.h index ce6b60cc9f8f..3e0c94942516 100644 --- a/include/sal/alloca.h +++ b/include/sal/alloca.h @@ -24,8 +24,8 @@ #ifndef INCLUDED_SAL_ALLOCA_H #define INCLUDED_SAL_ALLOCA_H -#if defined(__sun) || defined(LINUX) || defined(AIX) || defined(ANDROID) || defined(HAIKU) \ - || defined(MACOSX) || defined(IOS) || defined(EMSCRIPTEN) +#if defined(__sun) || defined(LINUX) || defined(ANDROID) || defined(HAIKU) || defined(MACOSX) \ + || defined(IOS) || defined(EMSCRIPTEN) #ifndef INCLUDED_ALLOCA_H #include <alloca.h> diff --git a/include/sal/config.h b/include/sal/config.h index bf5958519426..5d6bd3459287 100644 --- a/include/sal/config.h +++ b/include/sal/config.h @@ -47,8 +47,8 @@ #endif /* defined _WIN32 */ -#if defined(__sun) || defined(LINUX) || defined(NETBSD) || defined(FREEBSD) || defined(AIX) \ - || defined(OPENBSD) || defined(DRAGONFLY) || defined(ANDROID) || defined(HAIKU) +#if defined(__sun) || defined(LINUX) || defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD) \ + || defined(DRAGONFLY) || defined(ANDROID) || defined(HAIKU) #define SAL_UNX #define SAL_DLLEXTENSION ".so" #define SAL_EXEEXTENSION "" diff --git a/include/sal/main.h b/include/sal/main.h index 7d10988c6f10..42ffdb76189a 100644 --- a/include/sal/main.h +++ b/include/sal/main.h @@ -29,10 +29,6 @@ #include "sal/saldllapi.h" #include "sal/types.h" -#if defined AIX -#include <unistd.h> -#endif - #ifdef __cplusplus extern "C" { #endif diff --git a/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh b/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh index 9fec571f5f99..0e910d2a4fbf 100644 --- a/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh +++ b/instsetoo_native/inc_openoffice/unix/find-requires-x11.sh @@ -19,11 +19,7 @@ cat > /dev/null [[ "${PLATFORMID}" == "linux_x86_64" || "${PLATFORMID}" == "linux_aarch64" ]] && mark64="()(64bit)" -if [[ "${OS}" == "AIX" ]]; then - echo "libfreetype.a(libfreetype.so.6${mark64})" -else - echo "libfreetype.so.6${mark64}" - if [[ "${XINERAMA_LINK}" == "dynamic" ]]; then - echo "libXinerama.so.1${mark64}" - fi +echo "libfreetype.so.6${mark64}" +if [[ "${XINERAMA_LINK}" == "dynamic" ]]; then + echo "libXinerama.so.1${mark64}" fi diff --git a/jvmfwk/Package_rcfiles.mk b/jvmfwk/Package_rcfiles.mk index e7010b970da5..19f866f357c4 100644 --- a/jvmfwk/Package_rcfiles.mk +++ b/jvmfwk/Package_rcfiles.mk @@ -21,8 +21,6 @@ $(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/jav endif else ifeq ($(OS),LINUX) $(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/javavendors.xml,distributions/OpenOfficeorg/javavendors_linux.xml)) -else ifeq ($(OS),AIX) -$(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/javavendors.xml,distributions/OpenOfficeorg/javavendors_linux.xml)) else $(eval $(call gb_Package_add_file,jvmfwk_javavendors,$(LIBO_URE_MISC_FOLDER)/javavendors.xml,distributions/OpenOfficeorg/javavendors_unx.xml)) endif diff --git a/odk/CustomTarget_check.mk b/odk/CustomTarget_check.mk index e77b1fb09d87..98d31c3a9c5e 100644 --- a/odk/CustomTarget_check.mk +++ b/odk/CustomTarget_check.mk @@ -21,8 +21,7 @@ odk_PLATFORM := $(if $(filter WNT,$(OS)),windows,\ $(if $(filter NETBSD,$(OS)),netbsd,\ $(if $(filter FREEBSD,$(OS)),freebsd,\ $(if $(filter DRAGONFLY,$(OS)),dragonfly,\ - $(if $(filter MACOSX,$(OS)),macosx,\ - $(if $(filter AIX,$(OS)),aix)))))))) + $(if $(filter MACOSX,$(OS)),macosx))))))) .PHONY: $(call gb_CustomTarget_get_workdir,odk/check)/checkbin $(call gb_CustomTarget_get_workdir,odk/check)/checkbin : \ diff --git a/odk/source/unoapploader/unx/unoapploader.c b/odk/source/unoapploader/unx/unoapploader.c index 3a35599292be..cc83b88bfaf2 100644 --- a/odk/source/unoapploader/unx/unoapploader.c +++ b/odk/source/unoapploader/unx/unoapploader.c @@ -75,8 +75,6 @@ int main( int argc, char *argv[] ) { #if defined(MACOSX) static const char* ENVVARNAME = "DYLD_LIBRARY_PATH"; -#elif defined(AIX) - static const char* ENVVARNAME = "LIBPATH"; #else static const char* ENVVARNAME = "LD_LIBRARY_PATH"; #endif @@ -263,14 +261,11 @@ char* createCommandName( char* argv0 ) char* cmdname = NULL; char* sep = NULL; -#ifndef AIX Dl_info dl_info; -#endif /* get the executable file name from argv0 */ prgname = argv0; -#ifndef AIX /* * if argv0 doesn't contain an absolute path name, try to get the absolute * path name from dladdr; note that this only works for Solaris, not for @@ -282,7 +277,6 @@ char* createCommandName( char* argv0 ) { prgname = dl_info.dli_fname; } -#endif /* prefix the executable file name by '_' */ if ( prgname != NULL ) diff --git a/sal/osl/unx/file_error_transl.cxx b/sal/osl/unx/file_error_transl.cxx index ad6e00558a40..539d4ccfc930 100644 --- a/sal/osl/unx/file_error_transl.cxx +++ b/sal/osl/unx/file_error_transl.cxx @@ -140,10 +140,8 @@ oslFileError oslTranslateFileError(int Errno) #endif return osl_File_E_NOSYS; -#if !defined(AIX) || !(defined(_ALL_SOURCE) && !defined(_LINUX_SOURCE_COMPAT)) case ENOTEMPTY: return osl_File_E_NOTEMPTY; -#endif case ELOOP: return osl_File_E_LOOP; diff --git a/sal/osl/unx/module.cxx b/sal/osl/unx/module.cxx index 606c8fa475a1..3eabc6294f83 100644 --- a/sal/osl/unx/module.cxx +++ b/sal/osl/unx/module.cxx @@ -31,57 +31,9 @@ #include "system.hxx" #include "file_url.hxx" -#ifdef AIX -#include <sys/ldr.h> -#endif - static bool getModulePathFromAddress(void * address, rtl_String ** path) { bool result = false; -#if defined(AIX) - int size = 4 * 1024; - char *buf, *filename=NULL; - struct ld_info *lp; - - if ((buf = (char*)malloc(size)) == NULL) - return false; - - //figure out how big a buffer we need - while (loadquery(L_GETINFO, buf, size) == -1 && errno == ENOMEM) - { - size += 4 * 1024; - free(buf); - if ((buf = (char*)malloc(size)) == NULL) - return false; - } - - lp = (struct ld_info*) buf; - while (lp) - { - unsigned long start = (unsigned long)lp->ldinfo_dataorg; - unsigned long end = start + lp->ldinfo_datasize; - if (start <= (unsigned long)address && end > (unsigned long)address) - { - filename = lp->ldinfo_filename; - break; - } - if (!lp->ldinfo_next) - break; - lp = (struct ld_info*) ((char *) lp + lp->ldinfo_next); - } - - if (filename) - { - rtl_string_newFromStr(path, filename); - result = sal_True; - } - else - { - result = sal_False; - } - - free(buf); -#else #if HAVE_UNIX_DLAPI Dl_info dl_info; @@ -95,7 +47,6 @@ static bool getModulePathFromAddress(void * address, rtl_String ** path) (void) address; (void) path; #endif -#endif return result; } diff --git a/sal/osl/unx/system.hxx b/sal/osl/unx/system.hxx index 8b1f1dccced4..02d8b06c3bf5 100644 --- a/sal/osl/unx/system.hxx +++ b/sal/osl/unx/system.hxx @@ -201,19 +201,6 @@ # define IOCHANNEL_TRANSFER_BSD_RENO #endif -#ifdef AIX -# define AF_IPX -1 -# include <strings.h> -# include <pthread.h> -# include <dlfcn.h> -# include <sys/time.h> -# include <sys/un.h> -# include <netinet/tcp.h> -# include <sys/machine.h> -# define SLEEP_TIMESPEC(timespec) nsleep(×pec, 0) -# define LIBPATH "LIBPATH" -#endif - #ifdef __sun # include <shadow.h> # include <sys/un.h> @@ -291,7 +278,6 @@ int macxp_resolveAlias(char *path, int buflen); #if !defined(_WIN32) && \ !defined(LINUX) && !defined(NETBSD) && !defined(FREEBSD) && \ - !defined(AIX) && \ !defined(__sun) && !defined(MACOSX) && \ !defined(OPENBSD) && !defined(DRAGONFLY) && \ !defined(IOS) && !defined(ANDROID) && \ diff --git a/sal/qa/osl/file/osl_File.cxx b/sal/qa/osl/file/osl_File.cxx index 718fb65423d1..93199e8bd2fa 100644 --- a/sal/qa/osl/file/osl_File.cxx +++ b/sal/qa/osl/file/osl_File.cxx @@ -4715,7 +4715,7 @@ namespace osl_Directory if (tmp_x.lastIndexOf('/') != (tmp_x.getLength() - 1)) tmp_x += "/"; -#if !defined(_WIN32) && !defined(ANDROID) && !defined(AIX) +#if !defined(_WIN32) && !defined(ANDROID) // FIXME would be nice to create unique dir even on Windows tmp_x += "XXXXXX"; char *out = mkdtemp(const_cast<char*>(tmp_x.getStr())); diff --git a/scp2/source/ooo/module_hidden_ooo.scp b/scp2/source/ooo/module_hidden_ooo.scp index 904cea2420bd..cb8093987a17 100644 --- a/scp2/source/ooo/module_hidden_ooo.scp +++ b/scp2/source/ooo/module_hidden_ooo.scp @@ -22,59 +22,6 @@ #include "AutoInstall/ooo_images" #include "AutoInstall/ooobinarytable" -#ifdef AIX -#ifndef SYSTEM_CURL -Unixlink gid_Unixlink_File_Lib_Curl - BIN_FILE_BODY; - Dir = SCP2_OOO_BIN_DIR; - Name = STRING(CONCAT2(libcurl,UNXSUFFIX)); - Styles = (PACKED); - Target = STRING(CONCAT3(libcurl,UNXSUFFIX,.3)); -End -#endif -#ifndef SYSTEM_REDLAND -Unixlink gid_Unixlink_File_Lib_Raptor - BIN_FILE_BODY; - Dir = SCP2_OOO_BIN_DIR; - Name = STRING(CONCAT2(libraptor,UNXSUFFIX)); - Styles = (PACKED); - Target = STRING(CONCAT3(libraptor,UNXSUFFIX,.1)); -End - -Unixlink gid_Unixlink_File_Lib_Rasqal - BIN_FILE_BODY; - Dir = SCP2_OOO_BIN_DIR; - Name = STRING(CONCAT2(librasqal,UNXSUFFIX)); - Styles = (PACKED); - Target = STRING(CONCAT3(librasqal,UNXSUFFIX,.1)); -End - -Unixlink gid_Unixlink_File_Lib_Rdf - BIN_FILE_BODY; - Dir = SCP2_OOO_BIN_DIR; - Name = STRING(CONCAT2(librdf,UNXSUFFIX)); - Styles = (PACKED); - Target = STRING(CONCAT3(librdf,UNXSUFFIX,.0)); -End -#endif -#ifndef SYSTEM_LIBXSLT -Unixlink gid_Unixlink_File_Lib_Xslt - BIN_FILE_BODY; - Dir = SCP2_OOO_BIN_DIR; - Name = STRING(CONCAT2(libxslt,UNXSUFFIX)); - Styles = (PACKED); - Target = STRING(CONCAT3(libxslt,UNXSUFFIX,.1)); -End -Unixlink gid_Unixlink_File_Lib_eXslt - BIN_FILE_BODY; - Dir = SCP2_OOO_BIN_DIR; - Name = STRING(CONCAT2(libexslt,UNXSUFFIX)); - Styles = (PACKED); - Target = STRING(CONCAT3(libexslt,UNXSUFFIX,.0)); -End -#endif -#endif - Module gid_Module_Root_Files_Images PackageInfo = "packinfo_office.txt"; ParentID = gid_Module_Root; diff --git a/scp2/source/ooo/module_ooo.scp b/scp2/source/ooo/module_ooo.scp index 582c5e1e1dae..a9540d9f6b47 100644 --- a/scp2/source/ooo/module_ooo.scp +++ b/scp2/source/ooo/module_ooo.scp @@ -32,12 +32,6 @@ Module gid_Module_Root gid_Starregistry_Services_Rdb, auto_ooo_ALL, auto_ooobinarytable_ALL, - gid_Unixlink_File_Lib_Curl, - gid_Unixlink_File_Lib_Raptor, - gid_Unixlink_File_Lib_Rasqal, - gid_Unixlink_File_Lib_Rdf, - gid_Unixlink_File_Lib_Xslt, - gid_Unixlink_File_Lib_eXslt, GID_FILE_LIB_WPD, gid_File_Lib_Cli_Oootypes_Assembly, gid_File_Lib_Policy_Cli_Oootypes_Assembly, @@ -98,12 +92,6 @@ Module gid_Module_Root gid_File_Share_Registry_Forcedefault_Xcd, gid_File_Extra_Fontunxpsprint, gid_File_Extra_Fontunxafm); - Unixlinks = (gid_Unixlink_File_Lib_Curl, - gid_Unixlink_File_Lib_Raptor, - gid_Unixlink_File_Lib_Rasqal, - gid_Unixlink_File_Lib_Rdf, - gid_Unixlink_File_Lib_Xslt, - gid_Unixlink_File_Lib_eXslt); End Module gid_Module_Prg diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp index 30e06e4942f9..e36fb7215d2e 100644 --- a/scp2/source/ooo/ure.scp +++ b/scp2/source/ooo/ure.scp @@ -27,58 +27,6 @@ Directory gid_Dir_Ure_Share_Misc End #endif -// Public Dynamic Libraries: - -#ifdef AIX -Unixlink gid_Unixlink_File_Dl_Cppu - BIN_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_NORMAL("cppu"); - Styles = (PACKED); - Target = SCP2_URE_DL_UNO_VER("cppu", "3"); -End -#endif - -#ifdef AIX -Unixlink gid_Unixlink_File_Dl_Cppuhelper - BIN_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_COMID_NORMAL("cppuhelper"); - Styles = (PACKED); - Target = SCP2_URE_DL_UNO_COMID_VER("cppuhelper", "3"); -End -#endif - -#ifdef AIX -Unixlink gid_Unixlink_File_Dl_PurpEnvHelper - BIN_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_COMID_NORMAL("purpenvhelper"); - Styles = (PACKED); - Target = SCP2_URE_DL_UNO_COMID_VER("purpenvhelper", "3"); -End -#endif - -#ifdef AIX -Unixlink gid_Unixlink_File_Dl_Sal - BIN_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_NORMAL("sal"); - Styles = (PACKED); - Target = SCP2_URE_DL_UNO_VER("sal", "3"); -End -#endif - -#ifdef AIX -Unixlink gid_Unixlink_File_Dl_Salhelper - BIN_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_UNO_COMID_NORMAL("salhelper"); - Styles = (PACKED); - Target = SCP2_URE_DL_UNO_COMID_VER("salhelper", "3"); -End -#endif - // Private Dynamic Libraries: #if defined _MSC_VER && ! defined _ARM64_ @@ -220,16 +168,6 @@ End #endif -#ifdef AIX -Unixlink gid_Unixlink_File_Dl_Libxml2 - BIN_FILE_BODY; - Dir = SCP2_URE_DL_DIR; - Name = SCP2_URE_DL_NORMAL("xml2"); - Styles = (PACKED); - Target = SCP2_URE_DL_VER("xml2", "2"); -End -#endif - // Public Miscellaneous Files: File gid_File_Misc_TypesRdb @@ -282,19 +220,8 @@ Module gid_Module_Root_Ure_Hidden gid_File_Lib_Cli_Cppuhelper_Assembly, gid_File_Lib_Policy_Cli_Cppuhelper_Assembly, gid_File_Lib_Policy_Cli_Cppuhelper_Config, - gid_Unixlink_File_Dl_Cppu, - gid_Unixlink_File_Dl_Cppuhelper, - gid_Unixlink_File_Dl_PurpEnvHelper, - gid_Unixlink_File_Dl_Sal, - gid_Unixlink_File_Dl_Salhelper, gid_File_Misc_TypesRdb, gid_File_Misc_ServicesRdb); - Unixlinks = (gid_Unixlink_File_Dl_Sal, - gid_Unixlink_File_Dl_Salhelper, - gid_Unixlink_File_Dl_Cppu, - gid_Unixlink_File_Dl_Cppuhelper, - gid_Unixlink_File_Dl_PurpEnvHelper, - gid_Unixlink_File_Dl_Libxml2); End // Windows Registry: diff --git a/scp2/source/python/file_python_librelogo.scp b/scp2/source/python/file_python_librelogo.scp index 67f789f80045..8c0f0defc6c3 100644 --- a/scp2/source/python/file_python_librelogo.scp +++ b/scp2/source/python/file_python_librelogo.scp @@ -8,7 +8,6 @@ #include "macros.inc" -#ifndef AIX #ifndef DISABLE_PYUNO File gid_File_Share_Registry_LibreLogo_Xcd TXT_FILE_BODY; @@ -17,4 +16,3 @@ File gid_File_Share_Registry_LibreLogo_Xcd Name = "librelogo.xcd"; End #endif -#endif diff --git a/scp2/source/python/module_python_librelogo.scp b/scp2/source/python/module_python_librelogo.scp index 1102b8750252..a056d49acc3e 100644 --- a/scp2/source/python/module_python_librelogo.scp +++ b/scp2/source/python/module_python_librelogo.scp @@ -10,7 +10,6 @@ #include "AutoInstall/python_librelogo" -#ifndef AIX #ifndef DISABLE_PYUNO Module gid_Module_Optional_Pyuno_LibreLogo PackageInfo = "packinfo_office.txt"; @@ -23,4 +22,3 @@ Module gid_Module_Optional_Pyuno_LibreLogo Styles = ( ); End #endif -#endif diff --git a/shell/source/tools/lngconvex/lngconvex.cxx b/shell/source/tools/lngconvex/lngconvex.cxx index 4a5e03395bc8..546d76653dca 100644 --- a/shell/source/tools/lngconvex/lngconvex.cxx +++ b/shell/source/tools/lngconvex/lngconvex.cxx @@ -17,11 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifdef AIX -# undef _THREAD_SAFE -#endif - - #ifdef _WIN32 #include <prewin.h> #include <postwin.h> diff --git a/shell/source/unix/misc/senddoc.sh b/shell/source/unix/misc/senddoc.sh index c37a2dcf8ed0..f70251ecf310 100755 --- a/shell/source/unix/misc/senddoc.sh +++ b/shell/source/unix/misc/senddoc.sh @@ -27,14 +27,7 @@ if [ "$sd_platform" = "Linux" ] ; then fi # do not confuse the system mail clients with OOo and Java libraries -case $sd_platform in - AIX) - unset LIBPATH - ;; - *) - unset LD_LIBRARY_PATH - ;; -esac +unset LD_LIBRARY_PATH # tries to locate the executable specified # as first parameter in the user's path. diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c index fd128f6e3e4c..996f874bf606 100644 --- a/solenv/bin/concat-deps.c +++ b/solenv/bin/concat-deps.c @@ -22,10 +22,6 @@ #endif #endif -#ifdef _AIX -#define CORE_BIG_ENDIAN -#undef CORE_LITTLE_ENDIAN -#endif /* Def _AIX */ #ifdef _MSC_VER #undef CORE_BIG_ENDIAN diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm index 51d596dcb519..32104f551c9b 100644 --- a/solenv/bin/modules/installer/epmfile.pm +++ b/solenv/bin/modules/installer/epmfile.pm @@ -2022,10 +2022,6 @@ sub create_packages_without_epm { $target = "i586"; } - elsif ( $installer::globals::platformid eq 'aix_powerpc') - { - $target = "ppc"; - } elsif ( $installer::globals::os eq 'LINUX') { $target = (POSIX::uname())[4]; @@ -2238,11 +2234,6 @@ sub create_new_directory_structure { $rpmdir = "$installer::globals::epmoutpath/RPMS/i586"; } - elsif ( $installer::globals::platformid eq 'aix_powerpc') - { - $machine = "ppc"; - $rpmdir = "$installer::globals::epmoutpath/RPMS/$machine"; - } elsif ( $installer::globals::os eq 'LINUX') { $machine = (POSIX::uname())[4]; diff --git a/solenv/bin/modules/installer/parameter.pm b/solenv/bin/modules/installer/parameter.pm index 2841ebe036ea..b183057eac1e 100644 --- a/solenv/bin/modules/installer/parameter.pm +++ b/solenv/bin/modules/installer/parameter.pm @@ -291,16 +291,6 @@ sub setglobalvariables } } - if ($installer::globals::os eq 'AIX') - { - if ( $installer::globals::packageformat eq "rpm" ) - { - $installer::globals::isrpmbuild = 1; - $installer::globals::epmoutpath = "RPMS"; - } - if ( $installer::globals::rpm eq "" ) { installer::exiter::exit_program("ERROR: Environment variable \"\$RPM\" has to be defined!", "setglobalvariables"); } - } - if ($installer::globals::os eq 'LINUX') { $installer::globals::islinuxbuild = 1; diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist index 463edff70ee9..155f88ee1a15 100644 --- a/solenv/clang-format/excludelist +++ b/solenv/clang-format/excludelist @@ -431,10 +431,6 @@ bridges/inc/bridge.hxx bridges/inc/cppinterfaceproxy.hxx bridges/inc/unointerfaceproxy.hxx bridges/inc/vtablefactory.hxx -bridges/source/cpp_uno/gcc3_aix_powerpc/cpp2uno.cxx -bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx -bridges/source/cpp_uno/gcc3_aix_powerpc/share.hxx -bridges/source/cpp_uno/gcc3_aix_powerpc/uno2cpp.cxx bridges/source/cpp_uno/gcc3_ios/cpp2uno.cxx bridges/source/cpp_uno/gcc3_ios/except.cxx bridges/source/cpp_uno/gcc3_ios/rtti.h diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk index 89e717ccd15a..8f99e91f5f9b 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -308,8 +308,6 @@ gb_Executable_EXT_for_build := ifeq ($(OS_FOR_BUILD),MACOSX) gb_Helper_LIBRARY_PATH_VAR := DYLD_LIBRARY_PATH -else ifeq ($(OS_FOR_BUILD),AIX) -gb_Helper_LIBRARY_PATH_VAR := LIBPATH else ifeq ($(OS_FOR_BUILD),WNT) # In theory possible if cross-compiling to some Unix from Windows, # in practice strongly discouraged to even try that diff --git a/soltools/Executable_cpp.mk b/soltools/Executable_cpp.mk index 21ede303fcb0..e1f2d90d22dd 100644 --- a/soltools/Executable_cpp.mk +++ b/soltools/Executable_cpp.mk @@ -21,7 +21,7 @@ $(eval $(call gb_Executable_add_cobjects,cpp,\ soltools/cpp/_unix \ )) -ifneq ($(filter AIX MACOSX WNT,$(OS)),) +ifneq ($(filter MACOSX WNT,$(OS)),) $(eval $(call gb_Executable_add_cobjects,cpp,\ soltools/cpp/_getopt \ )) diff --git a/soltools/cpp/_unix.c b/soltools/cpp/_unix.c index 7c411befebea..d82a24c6ca54 100644 --- a/soltools/cpp/_unix.c +++ b/soltools/cpp/_unix.c @@ -31,7 +31,7 @@ #include "cpp.h" -#if defined(MACOSX) || defined(AIX) || defined(_WIN32) +#if defined(MACOSX) || defined(_WIN32) #include "_getopt.h" #else #include <getopt.h> @@ -54,7 +54,7 @@ void Tokenrow tr; setup_kwtab(); -#if defined(MACOSX) || defined(AIX) || defined(_WIN32) +#if defined(MACOSX) || defined(_WIN32) while ((c = stgetopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1) #else while ((c = getopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1) diff --git a/svx/source/gengal/gengal.sh b/svx/source/gengal/gengal.sh index 245c171c3caf..f154d375457c 100755 --- a/svx/source/gengal/gengal.sh +++ b/svx/source/gengal/gengal.sh @@ -47,10 +47,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 #collect all bootstrap variables specified on the command line @@ -67,17 +63,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/tools/source/stream/strmunx.cxx b/tools/source/stream/strmunx.cxx index 5964529f34a1..8e145d20b964 100644 --- a/tools/source/stream/strmunx.cxx +++ b/tools/source/stream/strmunx.cxx @@ -111,7 +111,7 @@ static ErrCode GetSvError( int nErrno ) { EBADF, SVSTREAM_INVALID_HANDLE }, #if defined(NETBSD) || \ defined(FREEBSD) || defined(MACOSX) || defined(OPENBSD) || \ - defined(__FreeBSD_kernel__) || defined (AIX) || defined(DRAGONFLY) || \ + defined(__FreeBSD_kernel__) || defined(DRAGONFLY) || \ defined(IOS) || defined(HAIKU) { EDEADLK, SVSTREAM_LOCKING_VIOLATION }, #else diff --git a/vcl/inc/unx/salunxtime.h b/vcl/inc/unx/salunxtime.h index 13f8ecc35bf1..b56bc846374c 100644 --- a/vcl/inc/unx/salunxtime.h +++ b/vcl/inc/unx/salunxtime.h @@ -23,10 +23,6 @@ #if defined LINUX || defined FREEBSD || \ defined NETBSD || defined OPENBSD || defined DRAGONFLY #include <sys/time.h> -#elif defined AIX -#include <time.h> -#include <sys/time.h> -#include <strings.h> #endif #include <sal/types.h> diff --git a/vcl/inc/unx/screensaverinhibitor.hxx b/vcl/inc/unx/screensaverinhibitor.hxx index f57d78b9758a..4ddbb53f9c12 100644 --- a/vcl/inc/unx/screensaverinhibitor.hxx +++ b/vcl/inc/unx/screensaverinhibitor.hxx @@ -36,7 +36,7 @@ private: std::optional<int> mnXScreenSaverTimeout; -#if !defined(__sun) && !defined(AIX) +#if !defined(__sun) BOOL mbDPMSWasEnabled; CARD16 mnDPMSStandbyTimeout; CARD16 mnDPMSSuspendTimeout; diff --git a/vcl/unx/generic/app/saldata.cxx b/vcl/unx/generic/app/saldata.cxx index 488e9937dc19..34c7c0878991 100644 --- a/vcl/unx/generic/app/saldata.cxx +++ b/vcl/unx/generic/app/saldata.cxx @@ -26,9 +26,6 @@ #ifdef SUN #include <sys/systeminfo.h> #endif -#ifdef AIX -#include <strings.h> -#endif #ifdef FREEBSD #include <sys/types.h> #include <sys/time.h> diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx index e3f6f4e767bf..cabc42e7d053 100644 --- a/vcl/unx/generic/app/saldisp.cxx +++ b/vcl/unx/generic/app/saldisp.cxx @@ -23,7 +23,7 @@ #include <math.h> #include <unistd.h> -#if defined(__sun) || defined(AIX) +#if defined(__sun) #include <osl/module.h> #endif diff --git a/vcl/unx/generic/window/screensaverinhibitor.cxx b/vcl/unx/generic/window/screensaverinhibitor.cxx index 36eac26c28dd..ec19fad09e5d 100644 --- a/vcl/unx/generic/window/screensaverinhibitor.cxx +++ b/vcl/unx/generic/window/screensaverinhibitor.cxx @@ -17,7 +17,7 @@ #include <X11/Xlib.h> #include <X11/Xatom.h> -#if !defined(__sun) && !defined(AIX) +#if !defined(__sun) #include <X11/extensions/dpms.h> #endif @@ -329,7 +329,7 @@ void ScreenSaverInhibitor::inhibitXAutoLock( bool bInhibit, Display* pDisplay ) void ScreenSaverInhibitor::inhibitDPMS( bool bInhibit, Display* pDisplay ) { -#if !defined(__sun) && !defined(AIX) +#if !defined(__sun) int dummy; // This won't change while X11 is running, hence // we can evaluate only once and store as static @@ -364,7 +364,7 @@ void ScreenSaverInhibitor::inhibitDPMS( bool bInhibit, Display* pDisplay ) mnDPMSSuspendTimeout, mnDPMSOffTimeout ); } -#endif // !defined(__sun) && !defined(AIX) +#endif // !defined(__sun) } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/gtk3/a11y/atklistener.cxx b/vcl/unx/gtk3/a11y/atklistener.cxx index 98cbfab3a2cd..cfab14d58a90 100644 --- a/vcl/unx/gtk3/a11y/atklistener.cxx +++ b/vcl/unx/gtk3/a11y/atklistener.cxx @@ -17,12 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifdef AIX -#define _LINUX_SOURCE_COMPAT -#include <sys/timer.h> -#undef _LINUX_SOURCE_COMPAT -#endif - #include <com/sun/star/accessibility/TextSegment.hpp> #include <com/sun/star/accessibility/AccessibleEventId.hpp> #include <com/sun/star/accessibility/AccessibleStateType.hpp> diff --git a/vcl/unx/gtk3/a11y/atkutil.cxx b/vcl/unx/gtk3/a11y/atkutil.cxx index d57818f2d40f..b16648ecbf0e 100644 --- a/vcl/unx/gtk3/a11y/atkutil.cxx +++ b/vcl/unx/gtk3/a11y/atkutil.cxx @@ -17,12 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifdef AIX -#define _LINUX_SOURCE_COMPAT -#include <sys/timer.h> -#undef _LINUX_SOURCE_COMPAT -#endif - #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> #include <com/sun/star/accessibility/XAccessibleSelection.hpp> #include <com/sun/star/accessibility/AccessibleEventId.hpp> diff --git a/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx b/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx index 4068d57f2fa1..9afb55f0eb21 100644 --- a/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx +++ b/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx @@ -17,12 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifdef AIX -#define _LINUX_SOURCE_COMPAT -#include <sys/timer.h> -#undef _LINUX_SOURCE_COMPAT -#endif - #include <config_gio.h> #include <com/sun/star/awt/SystemDependentXWindow.hpp> diff --git a/vcl/unx/gtk3/fpicker/SalGtkFolderPicker.cxx b/vcl/unx/gtk3/fpicker/SalGtkFolderPicker.cxx index ae617d5af181..57b6e7c53e18 100644 --- a/vcl/unx/gtk3/fpicker/SalGtkFolderPicker.cxx +++ b/vcl/unx/gtk3/fpicker/SalGtkFolderPicker.cxx @@ -17,12 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifdef AIX -#define _LINUX_SOURCE_COMPAT -#include <sys/timer.h> -#undef _LINUX_SOURCE_COMPAT -#endif - #include <config_gio.h> #include <com/sun/star/awt/Toolkit.hpp> diff --git a/vcl/unx/gtk3/fpicker/SalGtkPicker.cxx b/vcl/unx/gtk3/fpicker/SalGtkPicker.cxx index 5810a545f4ea..9d07a11f7620 100644 --- a/vcl/unx/gtk3/fpicker/SalGtkPicker.cxx +++ b/vcl/unx/gtk3/fpicker/SalGtkPicker.cxx @@ -17,12 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifdef AIX -#define _LINUX_SOURCE_COMPAT -#include <sys/timer.h> -#undef _LINUX_SOURCE_COMPAT -#endif - #include <com/sun/star/frame/TerminationVetoException.hpp> #include <com/sun/star/lang/XMultiComponentFactory.hpp> #include <com/sun/star/uri/ExternalUriReferenceTranslator.hpp> diff --git a/vcl/unx/gtk3/gtkobject.cxx b/vcl/unx/gtk3/gtkobject.cxx index ca01e7795ab4..bd553137a81b 100644 --- a/vcl/unx/gtk3/gtkobject.cxx +++ b/vcl/unx/gtk3/gtkobject.cxx @@ -17,12 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifdef AIX -#define _LINUX_SOURCE_COMPAT -#include <sys/timer.h> -#undef _LINUX_SOURCE_COMPAT -#endif - #include <unx/gtk/gtkbackend.hxx> #include <unx/gtk/gtkobject.hxx> #include <unx/gtk/gtkframe.hxx> |