https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70403

--- Comment #2 from Hadula, Tomasz <thadula at ciena dot com> ---
The whole thing is huge (compiles for almost 2 hours).
The problem is that when I attempt to make it smaller in form of a simple,
standalone app, the problem doesn't happen anymore.

I've been searching for something that dereferences pNewSel or some sort of
memcpy or memmove, but I can't find it.

Those are 2 methods used to obtain pNewSel. Hashlist is based on RogueWave
hashset:

UniCtp*
NewLogicalSwitch::FindCtpFromHashList (McCtpId ctpId)
{
    UniCtp* pDummyCtp = mUniCtpPool.Get();

    if (!pDummyCtp)
    {
        getSwitchCoreMemoryLog()->PrintRamLog (
                "NewLogicalSwitch::FindCtpFromHashList: no more room in the CTP
pool");
        return NULL;
    }

    pDummyCtp->CtpCpBase::Init(ctpId);   // call base class method; need
CtpCpBase:: qualifier because UniCtp redefines Init(), hiding the base class
version
    UniCtp* pCtp = mCtpHashList.find(pDummyCtp);
    pDummyCtp->Destroy();  // return to mempool

    return pCtp;
}

UniCp*
NewLogicalSwitch::FindCpFromHashList (McCpId cpId)
{
    // Note - The prot app is not used in the find process.
    //        Find just compares the ids of the two CPs.
    //        The prot app is not part of the id.
    //        We just needed to pass in a dummy prot app
    //        along with the real id to create the dummyCp.
    //
    TcmInfo dummyTcmInfo;
    UniCp* pDummyCp, *pUniCp;

    pDummyCp = mUniCpPool.Get();
    if (!pDummyCp)
    {
        getSwitchCoreMemoryLog()->PrintRamLog (
               "NewLogicalSwitch::FindCpFromHashList: no more room in the CP
pool");
        return NULL;
    }

    pDummyCp->Init(cpId, MC_CP_PROTECTION_APP_NONE,
            MC_CP_PU_TYPE_NONE,
            0, dummyTcmInfo, true, true, true, true, McId::InvalidId);


    pUniCp = mCpHashList.find (pDummyCp);

    // Return CP to MemPool
    pDummyCp->Destroy();
    return pUniCp;
}


Just a command line used to compile that particular source goes like this:

/usr/local/ciena/powerpc-e500-linux-gnuspe-20160316/bin/powerpc-e500-linux-gnuspe-g++
-Wp,-MD,/simdisk/thadula/oneos/branches/centaur/dev/main/build/centaur-cn5430/libNewLS.a/chassis/powerpc-e500/32/.NewLogicalSwitch.o.d,-MP
-g -pipe -O2 -fno-delete-null-pointer-checks -std=gnu++03 -Wall -Wextra
-Wno-unused-parameter -Wno-deprecated -Wno-unused-but-set-parameter
-Wno-unused-function -Wno-unused-parameter -fPIC
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/core/txn/Switching/NewLS
-DCIENA_CTM -DCIENA_CENTAUR -DOSI_STACK_ENABLED -DCENTAUR_5430
-DCENTAUR_SPECIFIC -DWARM_RESTART
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/uio_ciena_hdpsm/lib/
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/uio_ciena_hdpsm/ko/
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/uio_ciena_hdsm/lib/
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/uio_ciena_hdsm/ko/
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/uio_ciena_sm/lib/
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/uio_ciena_sm/ko/
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/elf-utils
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/include
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/linxipc
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/log
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/onesies
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/subsys-elf
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/cad
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/compiler
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/apps/apis
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/apps/include
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/apps/infrastructure
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/apps/notifications
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/apps/utilities
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ntp
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/nonbranched
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/system/map
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/system/shared
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/system/shared/hal
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/ni/system/branding
-D_REENTRANT -DRW_MULTI_THREAD -DRW_POSIX_THREADS -DRWDEBUG
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/event_mgr
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/osrp/osrputil
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/driver_common/ko
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/driver_common/lib
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/smFabricMgr
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/uio_ciena_sm/lib
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/uio_ciena_sm/ko
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/apis
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/core
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/component
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/core/init
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/core/txn
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/core/txn/component
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/include
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/include/drivers
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/infrastructure
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/nonbranched
-DCD
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/hardware/tsx_uio
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/generic/signal_thrower
-I/simdisk/thadula/oneos/branches/centaur/dev/main/cache/centaur-cn5430/linx/chassis/powerpc-e500/32/include
-I/simdisk/thadula/oneos/branches/centaur/dev/main/cache/centaur-cn5430/linx/chassis/powerpc-e500/32/usr/include
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/build/centaur-cn5430/libFacDbCommon.a/chassis/.db/Facility/FacDbCommon
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/build/centaur-cn5430/libFacDbCommon.a/chassis/.db/Facility
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/build/centaur-cn5430/libFacDbCommon.a/chassis/.db
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/core/txn/Facility/FacDbCommon
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/build/centaur-cn5430/libmof.a/chassis/.mof/MoCommon
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/build/centaur-cn5430/libmof.a/chassis/.mof
-iquote/simdisk/thadula/oneos/branches/centaur/dev/main/src/software/centaur/apps/mof/MoDescriptor
-c -o
/simdisk/thadula/oneos/branches/centaur/dev/main/build/centaur-cn5430/libNewLS.a/chassis/powerpc-e500/32/NewLogicalSwitch.o
src/software/centaur/apps/core/txn/Switching/NewLS/NewLogicalSwitch.cpp

Reply via email to