https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Hanoch Haim from comment #12) > Removing __rte_cache_aligned does not solve the issue > > > diff --git a/src/time_histogram.h b/src/time_histogram.h > index 07e66b49..26a37248 100755 > --- a/src/time_histogram.h > +++ b/src/time_histogram.h > @@ -133,10 +133,10 @@ private: > uint32_t m_win_cnt; > uint32_t m_hot_max; > dsec_t m_max_ar[HISTOGRAM_QUEUE_SIZE]; // Array of maximum latencies > for previous periods > - uint64_t m_hcnt[HISTOGRAM_SIZE_LOG][HISTOGRAM_SIZE] __rte_cache_aligned > ; > + uint64_t m_hcnt[HISTOGRAM_SIZE_LOG][HISTOGRAM_SIZE] ; > // Hdr histogram instance > hdr_histogram *m_hdrh; > -}; > +} __rte_cache_aligned; There are more aligned attributes. I see class CLatencyManager : public TrexRxCore { ... volatile bool m_do_stop __attribute__((__aligned__(64))) ; struct rte_ring { char name[32] __attribute__((__aligned__(64))); class CFlowGenListPerThread { ... } __attribute__((__aligned__(64))); etc. Can you check the .bss section Alignment in the final executable/shared object? Do you by chance substitute the program loader for something not honoring large alignment of .bss sections?