ColinIanKing / stress-ng

This is the stress-ng upstream project git repository. stress-ng will stress test a computer system in various selectable ways. It was designed to exercise various physical subsystems of a computer as well as the various operating system kernel interfaces.
https://github.com/ColinIanKing/stress-ng
GNU General Public License v2.0
1.79k stars 284 forks source link

0.17.07: build fails #376

Closed kloczek closed 7 months ago

kloczek commented 7 months ago

Looks like something is wrong:

```console + /usr/bin/make -O -j48 V=1 VERBOSE=1 -j1 CC=/usr/bin/gcc 'override=-m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -mtls-dialect=gnu2 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security' 'CONFIG_LDFLAGS=-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--gc-sections -Wl,--as-needed -Wl,--build-id=sha1 -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,pack-relative-relocs -flto=auto -fuse-linker-plugin' Generating config.. /usr/bin/make CC="/usr/bin/gcc" CXX="/usr/bin/g++" STATIC= -f Makefile.config make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/stress-ng-0.17.07' using -lacl ... no using -laio ... yes using -lapparmor ... no using -lbsd ... no using -lcrypt ... yes using -ldl ... yes using -lEGL ... no using -lgbm ... no using -lGLESv2 ... no using -lgmp ... no using -lIPSec_MB ... no using -ljpeg ... no using -lJudy ... no using -lkmod ... no using -lmd ... no using -lmpfr ... no using -lpthread ... yes using -lpthread spinlock ... yes using -lrt ... yes using -lsctp ... yes using -lxxhash ... no using -lz ... yes using acl/libacl.h ... no using aio.h ... yes using asm/cachectl.h ... no using asm/ldt.h ... yes using asm/mtrr.h ... yes using asm/prctl.h ... yes using attr/xattr.h ... no using bsd/stdlib.h ... no using bsd/string.h ... no using bsd/sys/tree.h ... no using bsd/unistd.h ... no using bsd/wchar.h ... no using complex.h ... yes using crypt.h ... yes using EGL/egl.h EGL/eglext.h ... no using EGL/egl.h ... no using features.h ... yes using fenv.h ... yes using float.h ... yes using gbm.h ... no using GLES2/gl2.h ... no using gmp.h ... no using grp.h ... yes using ifaddrs.h ... yes using immintrin.h ... yes using intel-ipsec-mb.h ... no using jpeglib.h ... no using Judy.h ... no using keyutils.h ... yes using libaio.h ... yes using libgen.h ... yes using libkmod.h ... no using link.h ... yes using linux/android/binderfs.h ... yes using linux/android/binder.h ... yes using linux/audit.h ... yes using linux/blkzoned.h ... yes using linux/cdrom.h ... yes using linux/cn_proc.h ... yes using linux/connector.h ... yes using linux/dm-ioctl.h ... yes using linux/fd.h ... yes using linux/fiemap.h ... yes using linux/filter.h ... yes using linux/fs.h ... yes using linux/fsverity.h ... yes using linux/futex.h ... yes using linux/genetlink.h ... yes using linux/hdreg.h ... yes using linux/hidraw.h ... yes using linux/hpet.h ... yes using linux/if_alg.h ... yes using linux/if_packet.h ... yes using linux/if_tun.h ... yes using linux/input.h ... yes using linux/io_uring.h ... yes using linux/kd.h ... yes using linux/kvm.h ... yes using linux/landlock.h ... yes using linux/lirc.h ... yes using linux/loop.h ... yes using linux/lsm.h ... yes using linux/magic.h ... yes using linux/media.h ... yes using linux/membarrier.h ... yes using linux/memfd.h ... yes using linux/mempolicy.h ... yes using linux/module.h ... yes using linux/netlink.h ... yes using linux/openat2.h ... yes using linux/pci.h ... yes using linux/perf_event.h ... yes using linux/posix_types.h ... yes using linux/ppdev.h ... yes using linux/ptp_clock.h ... yes using linux/random.h ... yes using linux/rseq.h ... yes using linux/rtc.h ... yes using linux/rtnetlink.h ... yes using linux/seccomp.h ... yes using linux/serial.h ... yes using linux/sockdiag.h ... yes using linux/socket.h ... yes using linux/sockios.h ... yes using linux/sysctl.h ... yes using linux/taskstats.h ... yes using linux/udp.h ... yes using linux/uinput.h ... yes using linux/unix_diag.h ... yes using linux/usb/cdc-wdm.h ... yes using linux/usbdevice_fs.h ... yes using linux/userfaultfd.h ... yes using linux/version.h ... yes using linux/videodev2.h ... yes using linux/vt.h ... yes using linux/watchdog.h ... yes using locale.h ... yes using mach/mach.h ... no using mach/machine.h ... no using mach/vm_statistics.h ... no using malloc.h ... yes using mntent.h ... yes using mpfr.h ... no using mqueue.h ... yes using net/if.h ... yes using netinet/ip.h ... yes using netinet/ip_icmp.h ... yes using netinet/sctp.h ... yes using netinet/tcp.h ... yes using netinet/udp.h ... yes using poll.h ... yes using pthread_np.h ... no using scsi/scsi.h ... yes using scsi/scsi_ioctl.h ... yes using scsi/sg.h ... yes using search.h ... yes using semaphore.h ... yes using sound/asound.h ... yes using spawn.h ... yes using strings.h ... yes using sys/acl.h ... no using sys/apparmor.h ... no using sys/auxv.h ... yes using sys/syscall.h ... yes using sys/capability.h ... yes using sys/epoll.h ... yes using sys/eventfd.h ... yes using sys/fanotify.h ... yes using sys/fsuid.h ... yes using sys/inotify.h ... yes using sys/io.h ... yes using sys/ipc.h ... yes using sys/loadavg.h ... no using syslog.h ... yes using sys/mkdev.h ... no using sys/mount.h ... yes using sys/msg.h ... yes using sys/param.h ... yes using sys/personality.h ... yes using sys/pidfd.h ... yes using sys/platform/ppc.h ... no using sys/prctl.h ... yes using sys/queue.h ... yes using sys/quota.h ... yes using sys/random.h ... yes using sys/rseq.h ... yes using sys/select.h ... yes CONFIG_LDFLAGSusing sys/sendfile.h ... yes using sys/shm.h ... yes using sys/signalfd.h ... yes using sys/statfs.h ... yes using sys/statvfs.h ... yes using sys/swap.h ... yes using sys/sysctl.h ... no using sys/sysinfo.h ... yes using sys/sysmacros.h ... yes using sys/timerfd.h ... yes using sys/timex.h ... yes using sys/tree.h ... no using sys/ucred.h ... no using sys/uio.h ... yes using sys/un.h ... yes using sys/utsname.h ... yes using sys/vfs.h ... yes using sys/vmmeter.h ... no using sys/xattr.h ... yes using termio.h ... yes using termios.h ... yes using ucontext.h ... yes using ustat.h ... no using utime.h ... yes using uvm/uvm_extern.h ... no using wchar.h ... yes using x86intrin.h ... yes using xmmintrin.h ... yes using xxhash.h ... no using 128 byte alignment attribute ... yes using 64 byte alignment attribute ... yes using 64K byte alignment attribute ... yes using ALPHA draina instruction ... no using ALPHA halt instruction ... no using ARM tlbi instruction ... no using ARM yield instruction ... no using hppa diag instruction ... no using hppa rfi instruction ... no using loong64 cpucfg instruction ... no using loong64 dbar instruction ... no using loong64 rdtime instruction ... no using loong64 tlbrd instruction ... no using loong64 tlbsrch instruction ... no using M68K eori.w on sr instruction ... no using memory barrier ... yes using MIPS wait instruction ... no using generic nop instruction ... yes using asm("") ... yes using ppc64 darn instruction ... no using ppc64 dcbst instruction ... no using ppc64 dcbt instruction ... no using ppc64 dcbtst instruction ... no using ppc64 icbi instruction ... no using ppc64 msync instruction ... no using ppc64 tlbie instruction ... no using RISC-V fence instruction ... no using RISC-V fence.i instruction ... no using RISC-V sfence.vma instruction ... no using s390 ptlb instruction ... no using SH4 rte instruction ... no using SH4 sleep instruction ... no using SPARC membar instruction ... no using SPARC rdpr instruction ... no using SPARC tick instruction ... no using x86 cldemote instruction ... yes using x86 clflush instruction ... yes using x86 clflushopt instruction ... yes using x86 clts instruction ... yes using x86 clwb instruction ... yes using x86 hlt instruction ... yes using x86 invd instruction ... yes using x86 invpg instruction ... yes using x86 lfence instruction ... yes using x86 lgdt instruction ... yes using x86 lldt instruction ... yes using x86 lmsw instruction ... yes using x86 mfence instruction ... yes using x86 mov to cr0 instruction ... yes using x86 mov to dr0 instruction ... yes using x86 pause instruction ... yes using x86 prefetchtnta instruction ... yes using x86 prefetcht0 instruction ... yes using x86 prefetcht1 instruction ... yes using x86 prefetcht2 instruction ... yes using x86 rdmsr instruction ... yes using x86 rdpmc instruction ... yes using x86 rdrand instruction ... yes using x86 rdseed instruction ... yes using x86 rdtsc instruction ... yes using x86 rdtscp instruction ... yes using x86 rep stosb instruction ... yes using x86 rep stosd instruction ... yes using x86 rep stosq instruction ... yes using x86 rep stosw instruction ... yes using x86 serialize instruction ... yes using x86 sfence instruction ... yes using x86 tpause instruction ... yes using x86 wrinvd instruction ... yes using x86 wrmsr instruction ... yes using __attribute__((always_inline)) ... yes using __attribute__((fast_math)) ... yes using __attribute__((hot)) ... yes using __attribute__((noinline)) ... yes CONFIG_LDFLAGSusing __attribute__((noreturn)) ... yes CONFIG_LDFLAGSCONFIG_LDFLAGSCONFIG_LDFLAGSusing __attribute__((packed)) ... yes using __attribute__((pure)) ... yes using __attribute__((warn_unused_result)) ... yes using __attribute__((weak)) ... yes using label as value feature ... yes using _mm256_add_epi8 intrinsic ... yes using _mm256_dpbusd_epi32 intrinsic ... yes using _mm256_dpwssd_epi32 intrinsic ... yes using _mm256_loadu_si256 intrinsic ... yes using _mm256_storeu_si256 intrinsic ... yes using _mm512_add_epi8 intrinsic ... yes using _mm512_dpbusd_epi32 intrinsic ... yes using _mm512_dpwssd_epi32 intrinsic ... yes using _mm512_loadu_si512 intrinsic ... yes using _mm512_storeu_si512 intrinsic ... yes using _mm_add_epi8 intrinsic ... yes using _mm_dpbusd_epi32 intrinsic ... yes using _mm_dpwssd_epi32 intrinsic ... yes using _mm_loadu_si128 intrinsic ... yes using _mm_storeu_si128 intrinsic ... yes using pragma push/pop ... yes using pragma inside functions ... yes using pragma gcc no-hard-dfp ... no using __restrict keyword ... yes using target_clones attribute ... yes using target_clones arch=alderlake attribute (x86) ... yes using target_clones arch=arrowlake attribute (x86) ... yes using target_clones avx attribute (x86) ... yes using target_clones avx2 attribute (x86) ... yes using target_clones avxvnni attribute (x86) ... yes using target_clones arch=cooperlake attribute (x86) ... yes using target_clones arch=graniterapids attribute (x86) ... yes using target_clones mmx attribute (x86) ... yes using target_clones arch=pantherlake attribute (x86) ... yes using target_clones cpu=power attribute (power9) ... yes using target_clones arch=rocketlake attribute (x86) ... yes using target_clones arch=sapphirerapids attribute (x86) ... yes using target_clones arch=skylake-avx512 attribute (x86) ... yes using target_clones sse attribute (x86) ... yes using target_clones sse2 attribute (x86) ... yes using target_clones sse3 attribute (x86) ... yes using target_clones sse4_1 attribute (x86) ... yes using target_clones sse4_2 attribute (x86) ... yes using target_clones ssse3 attribute (x86) ... yes using target_clones arch=tigerlake attribute (x86) ... yes using variable length array function args ... yes using vector math ... yes using struct cdrom_blk ... yes using struct cdrom_mcn ... yes using struct cdrom_msf ... yes using struct cdrom_read_audio ... yes CONFIG_LDFLAGSusing struct cdrom_subchnl ... yes using struct cdrom_ti ... yes using struct cdrom_tocentry ... yes using struct cdrom_tochdr ... yes using struct cdrom_volctrl ... yes using complex ... yes using struct consolefontdesc ... yes using daddr_t ... yes using _Decimal128 ... no using _Decimal32 ... no using _Decimal64 ... no using struct dirent d_type ... yes using struct dm_ioctl ... yes using dvd_authinfo ... yes using dvd_struct ... yes using __float128 ... no using _Float128 ... no using _Float128x ... no using __fp16 ... no using _Float16 ... no using _Float16x ... no using _Float32 ... no using _Float32x ... no using _Float64 ... no using _Float64x ... no using __float80 ... no using _Float80 ... no using _Float80x ... no using struct floppy_drive_struct ... yes using struct floppy_fdc_state ... yes using struct floppy_struct ... yes using struct floppy_write_errors ... yes using struct fs_sysfs_path ... yes using struct fsuuid2 ... yes using struct fsverity_digest ... yes CONFIG_LDFLAGSusing struct fsverity_enable_arg ... yes using struct fsxattr ... yes using struct iphdr and icmphdr ... yes using struct ifconf ... yes using struct ifreq ... yes using ino64_t ... yes using int128_t ... yes using struct iphdr ... yes using __itimer_which_t ... yes using struct kbdiacrs ... yes using struct kbentry ... yes using struct kbkeycode ... yes using struct kbsentry ... yes using __kernel_long_t ... yes using __kernel_ulong_t ... yes using key_t ... yes using struct landlock_ruleset_attr ... yes using landlock_rule_type ... yes using loff_t ... yes using struct media_device_info ... yes using struct mnt_id_req ... yes using mode_t ... yes using struct msginfo ... yes using struct mtrr_gentry ... yes using struct mtrr_sentry ... yes using off64_t ... yes using off_t ... yes using struct open_how ... no using __pid_type ... yes using __priority_which_t ... yes using pthread_mutexattr_t ... yes using pthread_mutex_t ... yes using ptrace_request ... yes using __rlimit_resource_t ... yes using struct rtc_param ... yes using struct rusage.ru_maxrss ... yes using struct rusage.ru_minflt ... yes using struct rusage.ru_nvcsw ... yes using __rusage_who_t ... yes using struct sctp_association ... no using struct sctp_assocparams ... yes using struct sctp_assoc_stats ... yes using struct sctp_assoc_value ... yes using struct sctp_default_prinfo ... yes using struct sctp_event_subscribe ... yes using struct sctp_getaddrs ... yes using struct sctp_initmsg ... yes using struct sctp_paddrinfo ... yes using struct sctp_paddrparams ... yes using struct sctp_prim ... yes using struct sctp_probeinterval ... yes using struct sctp_rtoinfo ... yes using struct sctp_sched_type ... yes using struct sctp_setadaption ... yes using struct sctp_status ... yes using struct sctp_stream_value ... yes using struct seccomp_notif_sizes ... yes using struct serial_icounter_struct ... yes using struct serial_struct ... yes using struct shmid_ds ... yes using struct shminfo ... yes using struct snd_ctl_card_info ... yes using struct snd_ctl_tlv ... yes using struct sockaddr_un ... yes using struct termios ... yes using struct timex ... yes using struct tpacket_req3 ... yes using struct unimapdesc ... yes using struct usbdevfs_getdriver ... yes using struct user_desc ... yes using struct utimbuf ... yes using __v2di ... yes using struct v4l2_audio ... yes using struct v4l2_audioout ... yes using struct v4l2_capability ... yes using struct v4l2_dv_timings ... yes using struct v4l2_enc_idx ... yes using struct v4l2_framebuffer ... yes using struct v4l2_jpegcompression ... yes using v4l2_std_id ... yes using struct vt_consize ... yes using struct vt_mode ... yes using struct vt_sizes ... yes using struct vt_stat ... yes using struct winsize ... yes using __rseq_offset ... yes using accept4 ... yes using adjtime ... yes using adjtimex ... yes using aio_cancel ... yes using aio_fsync ... yes using aio_read ... yes using aio_write ... yes using aligned_alloc ... yes using arc4random ... yes using arch_prctl ... yes using atomics with -latomic ... yes using __atomic_add_fetch ... yes using __atomic_and_fetch ... yes using __atomic_clear ... yes using __atomic_compare_exchange ... yes using __atomic_fetch_add ... yes using __atomic_fetch_add_2 ... yes using __atomic_fetch_add_4 ... yes using __atomic_fetch_add_8 ... yes using __atomic_fetch_and ... yes using __atomic_fetch_nand ... yes using __atomic_fetch_or ... yes using __atomic_fetch_sub ... yes using __atomic_fetch_xor ... yes using __atomic_load ... yes using __atomic_load_double ... yes using __atomic_nand_fetch ... yes using __atomic_or_fetch ... yes using __atomic_store ... yes using __atomic_store_double ... yes using __atomic_sub_fetch ... yes using __atomic_test_and_set ... yes using __atomic_xor_fetch ... yes using brk ... yes using strlcat ... no using strlcpy ... no using bsearch ... yes using __builtin_assume_aligned ... yes using __builtin_bitreverse ... no using __builtin_bswap32 ... yes using __builtin_cabs ... no using __builtin_cabsf ... no using __builtin_cabsl ... no using __builtin_cbrt ... no using __builtin_cbrtf ... no using __builtin_cbrtl ... no using __builtin_ccos ... no using __builtin_ccosf ... no using __builtin_ccosl ... no using __builtin_cexp ... no using __builtin_cexpf ... no using __builtin_cexpl ... no using __builtin___clear_cache ... yes using __builtin_clog ... no using __builtin_clogf ... no using __builtin_clogl ... no using __builtin_clz ... yes using __builtin_clzl ... yes using __builtin_clzll ... yes using __builtin_constant_p ... yes using __builtin_cos ... no using __builtin_cosf ... no using __builtin_coshl ... no using __builtin_cosl ... no using __builtin_cpow ... no using __builtin_cpowf ... no using __builtin_cpowl ... no using __builtin_cpu_is(power9) ... no using __builtin_csin ... no using __builtin_csinf ... no using __builtin_csinl ... no using __builtin_csqrt ... no using __builtin_csqrtf ... no using __builtin_csqrtl ... no using __builtin_ctz ... yes using __builtin_exp ... no using __builtin_exp10 ... no using __builtin_exp10f ... no using __builtin_exp10l ... no using __builtin_exp2 ... no using __builtin_exp2f ... no using __builtin_exp2l ... no using __builtin_expect ... yes using __builtin_expf ... no using __builtin_expl ... no using __builtin_fabs ... yes using __builtin_fabsf ... yes using __builtin_fabsl ... yes using __builtin_fma ... no using __builtin_fmaf ... no using __builtin_hypot ... no using __builtin_hypotf ... no using __builtin_hypotl ... no using __builtin_ia32_movntdq ... yes using __builtin_ia32_movnti ... yes using __builtin_ia32_movnti64 ... yes using __builtin_lgammal ... no using __builtin_llabs ... yes using __builtin_log ... no using __builtin_log10 ... no using __builtin_log10f ... no using __builtin_log10l ... no using __builtin_log2 ... no using __builtin_log2f ... no using __builtin_log2l ... no using __builtin_logb ... no using __builtin_logbf ... no using __builtin_logbl ... no using __builtin_logf ... no using __builtin_logl ... no using __builtin_memcmp ... yes using __builtin_memcpy ... yes using __builtin_memmove ... yes using __builtin_memset ... yes using __builtin_nontemporal_load ... no using __builtin_nontemporal_store ... no using __builtin_parity ... yes using __builtin_popcount ... yes using __builtin_popcountl ... yes using __builtin_popcountll ... yes using __builtin_pow ... no using __builtin_powf ... no using __builtin_powl ... no using __builtin_prefetch ... yes using __builtin_rint ... yes using __builtin_rintl ... yes using __builtin_rotateleft16 ... no using __builtin_rotateleft32 ... no using __builtin_rotateleft64 ... no using __builtin_rotateleft8 ... no using __builtin_rotateright16 ... no using __builtin_rotateright32 ... no using __builtin_rotateright64 ... no using __builtin_rotateright8 ... no using __builtin_roundl ... no using __builtin_ia32_sfence ... yes using __builtin_shuffle ... yes using __builtin_sin ... no using __builtin_sincos ... no using __builtin_sincosf ... no using __builtin_sincosl ... no using __builtin_sinf ... no using __builtin_sinhl ... no using __builtin_sinl ... no using __builtin_sqrt ... no using __builtin_sqrtf ... no using __builtin_sqrtl ... no using __builtin_supports ... yes using __builtin_tan ... no using __builtin_tanf ... no using __builtin_tanl ... no using __builtin_thread_pointer ... yes using cabsl ... no using cacheflush ... no using cbrt ... no using cbrtf ... no using cbrtl ... no using ccosf ... no using ccosf ... no using ccosl ... no using cexp ... no using cexp ... no using cexpl ... no using cfgetispeed ... yes using cfgetospeed ... yes using chroot ... yes using cimag ... no using cimagf ... no using cimagl ... no using clearenv ... yes using clock_adjtime ... yes using clock_getres ... yes using clock_gettime ... yes using clock_nanosleep ... yes using clock_settime ... yes using clog ... no using clogf ... no using clogl ... no using clone ... yes using copy_file_range ... yes using coshl ... no using cosl ... no using cpow ... no using cpowf ... no using cpowl ... no using creal ... no using crealf ... no using creall ... no using crypt_r ... yes using csin ... no using csinf ... no using csinl ... no using csqrt ... no using csqrtf ... no using csqrtl ... no using delete_module ... no using drand48 ... yes using dup3 ... no building eigen matrix test... using eigen C++ functions ... no using endmntent ... yes using endpwent ... yes using epoll_create ... yes using epoll_create1 ... yes using eventfd ... yes using __executable_start ... yes using execveat ... yes using exp ... no using exp10 ... no using exp10f ... no using exp10l ... no using exp2 ... no using exp2f ... no using exp2l ... no using expf ... no using expl ... no using faccessat ... yes using faccessat2 ... no using fallocate ... yes using fanotify ... yes using fchmodat ... yes using fchmodat2 ... no using fchownat ... yes using fdatasync ... yes using fgetxattr ... yes using finit_module ... no using flistxattr ... yes using flock ... yes using fma ... no using fmaf ... no using fremovexattr ... yes using fsetxattr ... yes using fstat ... yes using fstatat ... yes using fsync ... yes using futimens ... yes using futimes ... yes using futimesat ... yes using getauxval ... yes using getcpu ... yes using getdomainname ... yes using getdtablesize ... yes using getentropy ... yes using getexecname ... no using gethostid ... yes using gethostname ... yes using getitimer ... yes using getloadavg ... yes using getmntent ... yes using getmntinfo ... no using getpagesize ... yes using getpgid ... yes using getpgrp ... yes using getpriority ... yes using getpwent ... yes using getrandom ... yes using getresgid ... yes using getresuid ... yes using getrusage ... yes using getsid ... yes using gettid ... yes using gettimeofday ... yes using getxattr ... yes using hsearch ... yes using hypot ... no using hypotf ... no using hypotl ... no using index ... no using inotify ... yes using inotify1 ... yes using intrinsic __rolb ... yes using intrinsic __rold ... yes using intrinsic __rolq ... yes using intrinsic __rolw ... yes using intrinsic __rorb ... yes using intrinsic __rord ... yes using intrinsic __rorq ... yes using intrinsic __rorw ... yes using iopl ... yes using ioport ... yes using lgammal ... no using lgetxattr ... yes using linkat ... yes using listxattr ... yes using llistxattr ... yes using lockf ... yes using log ... no using log10 ... no using log10f ... no using log10l ... no using log2 ... no using log2f ... no using log2l ... no using logb ... no using logbf ... no using logbl ... no using logf ... no using logl ... no using lookup_dcookie ... yes using lrand48 ... yes using lremovexattr ... yes using lsearch ... yes using lseek64 ... yes using lsetxattr ... yes using lsm_get_self_attr ... no using lst_list_modules ... no using lstat ... yes using madvise ... yes using malloc_trim ... yes using malloc_usable_size ... yes using mallopt ... yes using memalign ... yes using membarrier ... no using memfd_create ... yes using mincore ... yes using mkdirat ... yes using mknodat ... yes using mlock ... yes using mlock2 ... yes using mlockall ... yes using _mm_stream_si128 ... no using _mm_stream_si32 ... no using _mm_stream_si64 ... no using modify_ldt ... yes using mprotect ... yes using POSIX message queues ... yes using SYSV message queues ... yes using mquery ... no using mremap ... yes using msync ... yes using munlock ... yes using munlockall ... yes using name_to_handle_at ... yes using nanosleep ... yes using nice ... yes using openat ... yes using openat2 ... yes using open_by_handle_at ... yes using open_memstream ... yes using personality ... yes using pidfd_getfd ... yes using pidfd_open ... yes using pidfd_send_signal ... yes using pipe2 ... yes using pkey_alloc ... yes using pkey_free ... yes using pkey_get ... yes using pkey_mprotect ... yes using pkey_set ... yes using posix_fadvise ... yes using posix_fallocate ... yes using posix_madvise ... yes using posix_memalign ... yes using posix_openpt ... yes using posix_spawn ... yes using pow ... no using powf ... no using powl ... no using __ppc_get_timebase ... no using ppoll ... yes using prctl ... yes using pread ... yes using preadv ... yes using preadv2 ... yes using prlimit ... yes using process_vm_readv ... yes using process_vm_writev ... yes using program_invocation_name ... yes using pselect ... yes using pthread_attr_setstack ... yes using pthread_mutexattr_destroy ... yes using pthread_mutexattr_init ... yes using pthread_mutexattr_setprioceiling ... yes using pthread_mutexattr_setprotocol ... yes using pthread_mutexattr_setrobust ... yes using pthread_mutex_destroy ... yes using pthread_mutex_init ... yes using pthread_setaffinity_np ... yes using pthread_setschedparam ... yes using pthread_sigqueue ... yes using ptrace ... yes using ptsname ... yes using pwrite ... yes using pwritev ... yes using pwritev2 ... yes using quotactl_fd ... no using readlinkat ... yes using recvmmsg ... yes using remap_file_pages ... yes using removexattr ... yes using renameat ... yes using renameat2 ... yes using rfork ... no using rindex ... no using rintl ... no using sbrk ... yes using sched_getaffinity ... yes using sched_getcpu ... yes using sched_get_priority_max ... yes using sched_get_priority_min ... yes using sched_rr_get_interval ... yes using sched_setaffinity ... yes using sched_setscheduler ... yes using sched_yield ... yes using select ... yes using POSIX semaphores ... yes using SYSV semaphores ... yes using semtimedop ... yes using sendfile ... yes using sendmmsg ... yes using setdomainname ... yes using setfsgid ... yes using setfsuid ... yes using setitimer ... yes using setmntent ... yes using setns ... yes using setpgid ... yes using setpgrp ... yes using setpriority ... yes using setproctitle ... no using setpwent ... yes using setregid ... yes using setresgid ... yes using setresuid ... yes using setreuid ... yes using settimeofday ... yes using setxattr ... yes using SYSV shm ... yes using sigaltstack ... yes using signalfd ... yes using sigqueue ... yes using sigwaitinfo ... yes using sincos ... no using sincosf ... no using sincosl ... no using sinhl ... no using sinl ... no using splice ... yes using sqrt ... no using sqrtf ... no using sqrtl ... no using srand48 ... yes using stat ... yes using statfs ... yes using statx ... yes using stime ... no using swapon ... yes using swapcontext ... yes using symlinkat ... yes using sync_bool_compare_and_swap ... yes using sync_file_range ... yes using syncfs ... yes using __sync_synchronize ... yes using syscall ... yes using sysinfo ... yes using tcdrain ... yes using tcflow ... yes using tcflush ... yes using tcgetattr ... yes using tee ... yes using tgkill ... yes using timer_delete ... yes using timerfd_create ... yes using timerfd_gettime ... yes using timerfd_settime ... yes using timer_getoverrrun ... yes using timer_gettime ... yes using timer_settime ... yes using time ... yes using timer_create ... yes using tsearch ... yes using ttyname ... yes using umount2 ... yes using uname ... yes using unlinkat ... yes using unshare ... yes using ustat ... no using utime ... yes using utimensat ... yes using valloc ... yes using vfork ... yes using vhangup ... yes using vmsplice ... yes using wait3 ... yes using wait4 ... yes using waitid ... yes using waitpid ... yes using wcscasecmp ... no using wcscat ... no using wcschr ... no using wcscmp ... no using wcscoll ... no using wcscpy ... no using wcslcat ... no using wcslcpy ... no using wcslen ... no using wcsncasecmp ... no using wcsncat ... no using wcsncmp ... no using wcsrchr ... no using wcsxfrm ... no 945 configurations checked make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/stress-ng-0.17.07' if [ -n "" ]; then \ echo "Generating AppArmor profile from usr.bin.pulseaudio.eg"; \ /sbin/apparmor_parser -Q usr.bin.pulseaudio.eg -o apparmor-data.bin >/dev/null 2>&1 ; \ else \ echo "Generating empty AppArmor profile"; \ touch apparmor-data.bin; \ fi Generating empty AppArmor profile [..] /usr/bin/gcc -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -mtls-dialect=gnu2 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -Wall -Wextra -DVERSION='"0.17.07"' -std=gnu99 -Wformat -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Werror=format-security -fipa-pta -c -o stress-cpu.o stress-cpu.c stress-cpu.c: In function ‘stress_cpu_complex_long_double’: stress-cpu.c:868:39: error: expected ‘)’ before ‘;’ token 868 | a = (_type)_cos(b + c); \ | ^ stress-cpu.c:985:17: note: in expansion of macro ‘float_ops’ 985 | float_ops(_type, a, b, c, d, \ | ^~~~~~~~~ stress-cpu.c:994:1: note: in expansion of macro ‘stress_cpu_complex’ 994 | stress_cpu_complex(complex long double, l, complex_long_double, shim_csinl, shim_ccosl, stress_cpu_complex_long_double_put) | ^~~~~~~~~~~~~~~~~~ In file included from stress-cpu.c:24: core-builtin.h:458:25: note: to match this ‘(’ 458 | #define shim_ccosl(x) ((long double complex)shim_ccos((double complex)(x)) | ^ stress-cpu.c:868:28: note: in expansion of macro ‘shim_ccosl’ 868 | a = (_type)_cos(b + c); \ | ^~~~ stress-cpu.c:985:17: note: in expansion of macro ‘float_ops’ 985 | float_ops(_type, a, b, c, d, \ | ^~~~~~~~~ stress-cpu.c:994:1: note: in expansion of macro ‘stress_cpu_complex’ 994 | stress_cpu_complex(complex long double, l, complex_long_double, shim_csinl, shim_ccosl, stress_cpu_complex_long_double_put) | ^~~~~~~~~~~~~~~~~~ stress-cpu.c:990:1: error: expected ‘;’ before ‘}’ token 990 | } | ^ stress-cpu.c:994:1: note: in expansion of macro ‘stress_cpu_complex’ 994 | stress_cpu_complex(complex long double, l, complex_long_double, shim_csinl, shim_ccosl, stress_cpu_complex_long_double_put) | ^~~~~~~~~~~~~~~~~~ stress-cpu.c:1049:1: error: expected ‘while’ before ‘static’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~ stress-cpu.c:1086:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1086 | stress_cpu_int_fp(uint32_t, 32, float, float, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1049:37: error: invalid storage class for function ‘stress_cpu_int32_double’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~~~~~~~~~ stress-cpu.c:1089:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1089 | stress_cpu_int_fp(uint32_t, 32, double, double, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1049:37: error: invalid storage class for function ‘stress_cpu_int32_longdouble’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~~~~~~~~~ stress-cpu.c:1092:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1092 | stress_cpu_int_fp(uint32_t, 32, long double, longdouble, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1049:37: error: invalid storage class for function ‘stress_cpu_int64_float’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~~~~~~~~~ stress-cpu.c:1095:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1095 | stress_cpu_int_fp(uint64_t, 64, float, float, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1049:37: error: invalid storage class for function ‘stress_cpu_int64_double’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~~~~~~~~~ stress-cpu.c:1098:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1098 | stress_cpu_int_fp(uint64_t, 64, double, double, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1049:37: error: invalid storage class for function ‘stress_cpu_int64_longdouble’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~~~~~~~~~ stress-cpu.c:1101:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1101 | stress_cpu_int_fp(uint64_t, 64, long double, longdouble, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1049:37: error: invalid storage class for function ‘stress_cpu_int128_float’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~~~~~~~~~ stress-cpu.c:1106:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1106 | stress_cpu_int_fp(__uint128_t, 128, float, float, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1049:37: error: invalid storage class for function ‘stress_cpu_int128_double’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~~~~~~~~~ stress-cpu.c:1111:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1111 | stress_cpu_int_fp(__uint128_t, 128, double, double, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1049:37: error: invalid storage class for function ‘stress_cpu_int128_longdouble’ 1049 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_int ## _sz ## _ ## _name(const char *name)\ | ^~~~~~~~~~~~~~ stress-cpu.c:1116:1: note: in expansion of macro ‘stress_cpu_int_fp’ 1116 | stress_cpu_int_fp(__uint128_t, 128, long double, longdouble, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1151:37: error: invalid storage class for function ‘stress_cpu_rgb’ 1151 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_rgb(const char *name) | ^~~~~~~~~~~~~~ stress-cpu.c:1188:37: error: invalid storage class for function ‘stress_cpu_matrix_prod’ 1188 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_matrix_prod(const char *name) | ^~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:1230:23: error: invalid storage class for function ‘stress_cpu_fibonacci’ 1230 | static void OPTIMIZE3 stress_cpu_fibonacci(const char *name) | ^~~~~~~~~~~~~~~~~~~~ stress-cpu.c:1251:23: error: invalid storage class for function ‘stress_cpu_psi’ 1251 | static void OPTIMIZE3 stress_cpu_psi(const char *name) | ^~~~~~~~~~~~~~ stress-cpu.c:1286:56: error: invalid storage class for function ‘stress_cpu_ln2’ 1286 | static void OPTIMIZE3 TARGET_CLONES OPTIMIZE_FAST_MATH stress_cpu_ln2(const char *name) | ^~~~~~~~~~~~~~ stress-cpu.c:1318:21: error: invalid storage class for function ‘ackermann’ 1318 | static uint32_t HOT ackermann(const uint32_t m, const uint32_t n) | ^~~~~~~~~ stress-cpu.c:1332:13: error: invalid storage class for function ‘stress_cpu_ackermann’ 1332 | static void stress_cpu_ackermann(const char *name) | ^~~~~~~~~~~~~~~~~~~~ stress-cpu.c:1345:36: error: invalid storage class for function ‘stress_cpu_explog’ 1345 | static void HOT OPTIMIZE_FAST_MATH stress_cpu_explog(const char *name) | ^~~~~~~~~~~~~~~~~ stress-cpu.c:1381:27: error: invalid storage class for function ‘stress_cpu_jmp’ 1381 | static void HOT OPTIMIZE0 stress_cpu_jmp(const char *name) | ^~~~~~~~~~~~~~ stress-cpu.c:1408:36: error: invalid storage class for function ‘ccitt_crc16’ 1408 | static uint16_t PURE HOT OPTIMIZE3 ccitt_crc16(const uint8_t *data, size_t n) | ^~~~~~~~~~~ stress-cpu.c:1447:13: error: invalid storage class for function ‘stress_cpu_crc16’ 1447 | static void stress_cpu_crc16(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:1463:36: error: invalid storage class for function ‘fletcher16’ 1463 | static uint16_t PURE HOT OPTIMIZE3 fletcher16(const uint8_t *data, const size_t len) | ^~~~~~~~~~ stress-cpu.c:1479:13: error: invalid storage class for function ‘stress_cpu_fletcher16’ 1479 | static void stress_cpu_fletcher16(const char *name) | ^~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:1495:13: error: invalid storage class for function ‘stress_cpu_ipv4checksum’ 1495 | static void stress_cpu_ipv4checksum(const char *name) | ^~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:1515:73: error: invalid storage class for function ‘zeta’ 1515 | static inline long double complex PURE HOT OPTIMIZE3 OPTIMIZE_FAST_MATH zeta( | ^~~~ stress-cpu.c: In function ‘zeta’: core-builtin.h:94:37: error: ‘y’ undeclared (first use in this function) 94 | #define shim_cpow(x, z) (shim_cexp((y) * shim_clog((x)))) | ^ core-builtin.h:385:30: note: in definition of macro ‘shim_cexp’ 385 | #define shim_cexp(x) cexp(x) | ^ stress-cpu.c:1523:38: note: in expansion of macro ‘shim_cpow’ 1523 | double complex pwr = shim_cpow(i++, (complex double)s); | ^~~~~~~~~ core-builtin.h:94:37: note: each undeclared identifier is reported only once for each function it appears in 94 | #define shim_cpow(x, z) (shim_cexp((y) * shim_clog((x)))) | ^ core-builtin.h:385:30: note: in definition of macro ‘shim_cexp’ 385 | #define shim_cexp(x) cexp(x) | ^ stress-cpu.c:1523:38: note: in expansion of macro ‘shim_cpow’ 1523 | double complex pwr = shim_cpow(i++, (complex double)s); | ^~~~~~~~~ core-builtin.h:74:25: warning: absolute value function ‘cabs’ given an argument of type ‘long double’ but has parameter of type ‘double’ which may cause truncation of value [-Wabsolute-value] 74 | #define shim_cabsl(x) cabs(x) | ^~~~ stress-cpu.c:1526:18: note: in expansion of macro ‘shim_cabsl’ 1526 | } while (shim_cabsl(z - zold) > precision); | ^~~~~~~~~~ stress-cpu.c:1516:35: warning: unused parameter ‘s’ [-Wunused-parameter] 1516 | const long double complex s, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^ stress-cpu.c: In function ‘stress_cpu_complex_long_double’: stress-cpu.c:1535:13: error: invalid storage class for function ‘stress_cpu_zeta’ 1535 | static void stress_cpu_zeta(const char *name) | ^~~~~~~~~~~~~~~ stress-cpu.c:1556:46: error: invalid storage class for function ‘stress_cpu_gamma’ 1556 | static void HOT OPTIMIZE3 OPTIMIZE_FAST_MATH stress_cpu_gamma(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:1588:27: error: invalid storage class for function ‘stress_cpu_correlate’ 1588 | static void HOT OPTIMIZE3 stress_cpu_correlate(const char *name) | ^~~~~~~~~~~~~~~~~~~~ stress-cpu.c:1623:27: error: invalid storage class for function ‘stress_cpu_sieve’ 1623 | static void HOT OPTIMIZE3 stress_cpu_sieve(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:1652:57: error: invalid storage class for function ‘is_prime’ 1652 | static inline PURE HOT OPTIMIZE3 ALWAYS_INLINE uint32_t is_prime(uint32_t n) | ^~~~~~~~ stress-cpu.c:1674:13: error: invalid storage class for function ‘stress_cpu_prime’ 1674 | static void stress_cpu_prime(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:1691:37: error: invalid storage class for function ‘stress_cpu_gray’ 1691 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_gray(const char *name) | ^~~~~~~~~~~~~~~ stress-cpu.c:1732:21: error: invalid storage class for function ‘hanoi’ 1732 | static uint32_t HOT hanoi( | ^~~~~ stress-cpu.c:1753:13: error: invalid storage class for function ‘stress_cpu_hanoi’ 1753 | static void stress_cpu_hanoi(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:1768:46: error: invalid storage class for function ‘stress_cpu_floatconversion’ 1768 | static void TARGET_CLONES OPTIMIZE_FAST_MATH stress_cpu_floatconversion(const char *name) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:1828:13: error: invalid storage class for function ‘stress_cpu_intconversion’ 1828 | static void stress_cpu_intconversion(const char *name) | ^~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:1902:46: error: invalid storage class for function ‘factorial’ 1902 | static inline long double PURE HOT OPTIMIZE3 factorial(int n) | ^~~~~~~~~ stress-cpu.c:1951:27: error: invalid storage class for function ‘stress_cpu_pi’ 1951 | static void HOT OPTIMIZE3 stress_cpu_pi(const char *name) | ^~~~~~~~~~~~~ stress-cpu.c:1986:46: error: invalid storage class for function ‘stress_cpu_omega’ 1986 | static void HOT OPTIMIZE3 OPTIMIZE_FAST_MATH stress_cpu_omega(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:2031:35: error: invalid storage class for function ‘hamming84’ 2031 | static uint8_t PURE HOT OPTIMIZE3 hamming84(const uint8_t nybble) | ^~~~~~~~~ stress-cpu.c:2079:37: error: invalid storage class for function ‘stress_cpu_hamming’ 2079 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_hamming(const char *name) | ^~~~~~~~~~~~~~~~~~ stress-cpu.c:2101:18: error: invalid storage class for function ‘stress_cpu_callfunc_func’ 2101 | static ptrdiff_t stress_cpu_callfunc_func( | ^~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2130:13: error: invalid storage class for function ‘stress_cpu_callfunc’ 2130 | static void stress_cpu_callfunc(const char *name) | ^~~~~~~~~~~~~~~~~~~ stress-cpu.c:2160:13: error: invalid storage class for function ‘stress_cpu_parity’ 2160 | static void stress_cpu_parity(const char *name) | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2266:27: error: invalid storage class for function ‘stress_cpu_dither’ 2266 | static void TARGET_CLONES stress_cpu_dither(const char *name) | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2334:27: error: invalid storage class for function ‘stress_cpu_div8’ 2334 | static void TARGET_CLONES stress_cpu_div8(const char *name) | ^~~~~~~~~~~~~~~ stress-cpu.c:2361:27: error: invalid storage class for function ‘stress_cpu_div16’ 2361 | static void TARGET_CLONES stress_cpu_div16(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:2388:27: error: invalid storage class for function ‘stress_cpu_div32’ 2388 | static void TARGET_CLONES stress_cpu_div32(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:2415:27: error: invalid storage class for function ‘stress_cpu_div64’ 2415 | static void TARGET_CLONES stress_cpu_div64(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:2443:27: error: invalid storage class for function ‘stress_cpu_div128’ 2443 | static void TARGET_CLONES stress_cpu_div128(const char *name) | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2471:27: error: invalid storage class for function ‘stress_cpu_union’ 2471 | static void TARGET_CLONES stress_cpu_union(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:2541:17: error: invalid storage class for function ‘queens_try’ 2541 | static uint32_t queens_try( | ^~~~~~~~~~ stress-cpu.c:2568:13: error: invalid storage class for function ‘stress_cpu_queens’ 2568 | static void stress_cpu_queens(const char *name) | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2593:32: error: invalid storage class for function ‘stress_cpu_factorial’ 2593 | static void OPTIMIZE_FAST_MATH stress_cpu_factorial(const char *name) | ^~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2630:13: error: invalid storage class for function ‘stress_cpu_stats’ 2630 | static void stress_cpu_stats(const char *name) | ^~~~~~~~~~~~~~~~ stress-cpu.c:2699:27: error: invalid storage class for function ‘stress_cpu_all’ 2699 | static HOT OPTIMIZE3 void stress_cpu_all(const char *name) | ^~~~~~~~~~~~~~ stress-cpu.c:2708:33: error: initializer element is not constant 2708 | { "all", stress_cpu_all, 10000.0 }, /* Special "all test */ | ^~~~~~~~~~~~~~ stress-cpu.c:2708:33: note: (near initialization for ‘cpu_methods[0].func’) stress-cpu.c:2710:33: error: initializer element is not constant 2710 | { "ackermann", stress_cpu_ackermann, 2008.64 }, | ^~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2710:33: note: (near initialization for ‘cpu_methods[1].func’) stress-cpu.c:2713:33: error: initializer element is not constant 2713 | { "callfunc", stress_cpu_callfunc, 1246.34 }, | ^~~~~~~~~~~~~~~~~~~ stress-cpu.c:2713:33: note: (near initialization for ‘cpu_methods[4].func’) stress-cpu.c:2725:33: error: initializer element is not constant 2725 | { "correlate", stress_cpu_correlate, 216.02 }, | ^~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2725:33: note: (near initialization for ‘cpu_methods[9].func’) stress-cpu.c:2726:33: error: initializer element is not constant 2726 | { "crc16", stress_cpu_crc16, 249.93 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2726:33: note: (near initialization for ‘cpu_methods[10].func’) stress-cpu.c:2739:33: error: initializer element is not constant 2739 | { "dither", stress_cpu_dither, 234.77 }, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2739:33: note: (near initialization for ‘cpu_methods[11].func’) stress-cpu.c:2740:33: error: initializer element is not constant 2740 | { "div8", stress_cpu_div8, 8815.50 }, | ^~~~~~~~~~~~~~~ stress-cpu.c:2740:33: note: (near initialization for ‘cpu_methods[12].func’) stress-cpu.c:2741:33: error: initializer element is not constant 2741 | { "div16", stress_cpu_div16, 8843.39 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2741:33: note: (near initialization for ‘cpu_methods[13].func’) stress-cpu.c:2742:33: error: initializer element is not constant 2742 | { "div32", stress_cpu_div32, 9937.25 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2742:33: note: (near initialization for ‘cpu_methods[14].func’) stress-cpu.c:2743:33: error: initializer element is not constant 2743 | { "div64", stress_cpu_div64, 2833.72 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2743:33: note: (near initialization for ‘cpu_methods[15].func’) stress-cpu.c:2745:33: error: initializer element is not constant 2745 | { "div128", stress_cpu_div128, 1536.66 }, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2745:33: note: (near initialization for ‘cpu_methods[16].func’) stress-cpu.c:2749:33: error: initializer element is not constant 2749 | { "explog", stress_cpu_explog, 343.85 }, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2749:33: note: (near initialization for ‘cpu_methods[19].func’) stress-cpu.c:2750:33: error: initializer element is not constant 2750 | { "factorial", stress_cpu_factorial, 9474.40 }, | ^~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2750:33: note: (near initialization for ‘cpu_methods[20].func’) stress-cpu.c:2751:33: error: initializer element is not constant 2751 | { "fibonacci", stress_cpu_fibonacci, 35976352.02 }, | ^~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2751:33: note: (near initialization for ‘cpu_methods[21].func’) stress-cpu.c:2758:33: error: initializer element is not constant 2758 | { "fletcher16", stress_cpu_fletcher16, 650.59 }, | ^~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2758:33: note: (near initialization for ‘cpu_methods[23].func’) stress-cpu.c:2783:33: error: initializer element is not constant 2783 | { "floatconversion", stress_cpu_floatconversion, 2705.07 }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2783:33: note: (near initialization for ‘cpu_methods[25].func’) stress-cpu.c:2784:33: error: initializer element is not constant 2784 | { "gamma", stress_cpu_gamma, 492.74 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2784:33: note: (near initialization for ‘cpu_methods[26].func’) stress-cpu.c:2786:33: error: initializer element is not constant 2786 | { "gray", stress_cpu_gray, 62248.86 }, | ^~~~~~~~~~~~~~~ stress-cpu.c:2786:33: note: (near initialization for ‘cpu_methods[28].func’) stress-cpu.c:2787:33: error: initializer element is not constant 2787 | { "hamming", stress_cpu_hamming, 1036.58 }, | ^~~~~~~~~~~~~~~~~~ stress-cpu.c:2787:33: note: (near initialization for ‘cpu_methods[29].func’) stress-cpu.c:2788:33: error: initializer element is not constant 2788 | { "hanoi", stress_cpu_hanoi, 54804.26 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2788:33: note: (near initialization for ‘cpu_methods[30].func’) stress-cpu.c:2799:33: error: initializer element is not constant 2799 | { "int128float", stress_cpu_int128_float, 18312.51 }, | ^~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2799:33: note: (near initialization for ‘cpu_methods[38].func’) stress-cpu.c:2800:33: error: initializer element is not constant 2800 | { "int128double", stress_cpu_int128_double, 9798.38 }, | ^~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2800:33: note: (near initialization for ‘cpu_methods[39].func’) stress-cpu.c:2801:33: error: initializer element is not constant 2801 | { "int128longdouble", stress_cpu_int128_longdouble, 1397.33 }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2801:33: note: (near initialization for ‘cpu_methods[40].func’) stress-cpu.c:2815:33: error: initializer element is not constant 2815 | { "int64float", stress_cpu_int64_float, 25297.02 }, | ^~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2815:33: note: (near initialization for ‘cpu_methods[41].func’) stress-cpu.c:2816:33: error: initializer element is not constant 2816 | { "int64double", stress_cpu_int64_double, 11390.72 }, | ^~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2816:33: note: (near initialization for ‘cpu_methods[42].func’) stress-cpu.c:2817:33: error: initializer element is not constant 2817 | { "int64longdouble", stress_cpu_int64_longdouble, 1399.64 }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2817:33: note: (near initialization for ‘cpu_methods[43].func’) stress-cpu.c:2818:33: error: ‘stress_cpu_int32_float’ undeclared (first use in this function); did you mean ‘stress_cpu_int128_float’? 2818 | { "int32float", stress_cpu_int32_float, 26033.76 }, | ^~~~~~~~~~~~~~~~~~~~~~ | stress_cpu_int128_float stress-cpu.c:2819:33: error: initializer element is not constant 2819 | { "int32double", stress_cpu_int32_double, 11617.23 }, | ^~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2819:33: note: (near initialization for ‘cpu_methods[45].func’) stress-cpu.c:2820:33: error: initializer element is not constant 2820 | { "int32longdouble", stress_cpu_int32_longdouble, 1408.24 }, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2820:33: note: (near initialization for ‘cpu_methods[46].func’) stress-cpu.c:2821:33: error: initializer element is not constant 2821 | { "intconversion", stress_cpu_intconversion, 1390.75 }, | ^~~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2821:33: note: (near initialization for ‘cpu_methods[47].func’) stress-cpu.c:2822:33: error: initializer element is not constant 2822 | { "ipv4checksum", stress_cpu_ipv4checksum, 23394.01 }, | ^~~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2822:33: note: (near initialization for ‘cpu_methods[48].func’) stress-cpu.c:2823:33: error: initializer element is not constant 2823 | { "jmp", stress_cpu_jmp, 122704.94 }, | ^~~~~~~~~~~~~~ stress-cpu.c:2823:33: note: (near initialization for ‘cpu_methods[49].func’) stress-cpu.c:2825:33: error: initializer element is not constant 2825 | { "ln2", stress_cpu_ln2, 118136.97 }, | ^~~~~~~~~~~~~~ stress-cpu.c:2825:33: note: (near initialization for ‘cpu_methods[51].func’) stress-cpu.c:2829:33: error: initializer element is not constant 2829 | { "matrixprod", stress_cpu_matrix_prod, 263.84 }, | ^~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2829:33: note: (near initialization for ‘cpu_methods[55].func’) stress-cpu.c:2831:33: error: initializer element is not constant 2831 | { "omega", stress_cpu_omega, 4038977.72 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2831:33: note: (near initialization for ‘cpu_methods[57].func’) stress-cpu.c:2832:33: error: initializer element is not constant 2832 | { "parity", stress_cpu_parity, 30013.93 }, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2832:33: note: (near initialization for ‘cpu_methods[58].func’) stress-cpu.c:2834:33: error: initializer element is not constant 2834 | { "pi", stress_cpu_pi, 469787.65 }, | ^~~~~~~~~~~~~ stress-cpu.c:2834:33: note: (near initialization for ‘cpu_methods[60].func’) stress-cpu.c:2835:33: error: initializer element is not constant 2835 | { "prime", stress_cpu_prime, 443.99 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2835:33: note: (near initialization for ‘cpu_methods[61].func’) stress-cpu.c:2836:33: error: initializer element is not constant 2836 | { "psi", stress_cpu_psi, 6121992.09 }, | ^~~~~~~~~~~~~~ stress-cpu.c:2836:33: note: (near initialization for ‘cpu_methods[62].func’) stress-cpu.c:2837:33: error: initializer element is not constant 2837 | { "queens", stress_cpu_queens, 637.03 }, | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2837:33: note: (near initialization for ‘cpu_methods[63].func’) stress-cpu.c:2844:33: error: initializer element is not constant 2844 | { "rgb", stress_cpu_rgb, 71888.49 }, | ^~~~~~~~~~~~~~ stress-cpu.c:2844:33: note: (near initialization for ‘cpu_methods[66].func’) stress-cpu.c:2845:33: error: initializer element is not constant 2845 | { "sieve", stress_cpu_sieve, 3437.93 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2845:33: note: (near initialization for ‘cpu_methods[67].func’) stress-cpu.c:2846:33: error: initializer element is not constant 2846 | { "stats", stress_cpu_stats, 428002.41 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2846:33: note: (near initialization for ‘cpu_methods[68].func’) stress-cpu.c:2849:33: error: initializer element is not constant 2849 | { "union", stress_cpu_union, 30434.40 }, | ^~~~~~~~~~~~~~~~ stress-cpu.c:2849:33: note: (near initialization for ‘cpu_methods[71].func’) stress-cpu.c:2854:33: error: initializer element is not constant 2854 | { "zeta", stress_cpu_zeta, 1339.96 }, | ^~~~~~~~~~~~~~~ stress-cpu.c:2854:33: note: (near initialization for ‘cpu_methods[72].func’) stress-cpu.c:2860:13: error: invalid storage class for function ‘stress_cpu_method’ 2860 | static void stress_cpu_method(size_t method, stress_args_t *args, double *counter) | ^~~~~~~~~~~~~~~~~ stress-cpu.c:2879:12: error: invalid storage class for function ‘stress_set_cpu_method’ 2879 | static int stress_set_cpu_method(const char *name) | ^~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:2904:15: error: invalid storage class for function ‘stress_per_cpu_time’ 2904 | static double stress_per_cpu_time(void) | ^~~~~~~~~~~~~~~~~~~ stress-cpu.c:2933:26: error: invalid storage class for function ‘stress_cpu’ 2933 | static int HOT OPTIMIZE3 stress_cpu(stress_args_t *args) | ^~~~~~~~~~ stress-cpu.c:3086:13: error: invalid storage class for function ‘stress_cpu_set_default’ 3086 | static void stress_cpu_set_default(void) | ^~~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:3094:33: error: initializer element is not constant 3094 | { OPT_cpu_method, stress_set_cpu_method }, | ^~~~~~~~~~~~~~~~~~~~~ stress-cpu.c:3094:33: note: (near initialization for ‘opt_set_funcs[2].opt_set_func’) stress-cpu.c:3094:9: warning: missing initializer for field ‘opt_set_func’ of ‘stress_opt_set_func_t’ [-Wmissing-field-initializers] 3094 | { OPT_cpu_method, stress_set_cpu_method }, | ^ In file included from stress-cpu.c:20: stress-ng.h:214:15: note: ‘opt_set_func’ declared here 214 | int (*opt_set_func)(const char *opt); /* function to set it */ | ^~~~~~~~~~~~ stress-cpu.c:3106:1: error: expected declaration or statement at end of input 3106 | }; | ^ stress-cpu.c:3099:17: warning: unused variable ‘stress_cpu_info’ [-Wunused-variable] 3099 | stressor_info_t stress_cpu_info = { | ^~~~~~~~~~~~~~~ stress-cpu.c:3106:1: error: expected declaration or statement at end of input 3106 | }; | ^ stress-cpu.c:980:17: warning: unused variable ‘r’ [-Wunused-variable] 980 | r; \ | ^ stress-cpu.c:994:1: note: in expansion of macro ‘stress_cpu_complex’ 994 | stress_cpu_complex(complex long double, l, complex_long_double, shim_csinl, shim_ccosl, stress_cpu_complex_long_double_put) | ^~~~~~~~~~~~~~~~~~ stress-cpu.c: At top level: stress-cpu.c:98:39: warning: array ‘cpu_methods’ assumed to have one element 98 | static const stress_cpu_method_info_t cpu_methods[]; | ^~~~~~~~~~~ stress-cpu.c:969:37: warning: ‘stress_cpu_complex_long_double’ defined but not used [-Wunused-function] 969 | static void OPTIMIZE3 TARGET_CLONES stress_cpu_ ## _name(const char *name) \ | ^~~~~~~~~~~ stress-cpu.c:994:1: note: in expansion of macro ‘stress_cpu_complex’ 994 | stress_cpu_complex(complex long double, l, complex_long_double, shim_csinl, shim_ccosl, stress_cpu_complex_long_double_put) | ^~~~~~~~~~~~~~~~~~ stress-cpu.c:98:39: warning: ‘cpu_methods’ defined but not used [-Wunused-const-variable=] 98 | static const stress_cpu_method_info_t cpu_methods[]; | ^~~~~~~~~~~ make: *** [Makefile:666: stress-cpu.o] Error 1 ```
ColinIanKing commented 7 months ago

Thanks for reporting this. I've pushed a potential fix to the repository:

commit def3aa78fc9e05d7d98a114481250a4dcc3c259e (HEAD -> master) Author: Colin Ian King colin.i.king@gmail.com Date: Mon Apr 15 17:24:25 2024 +0100

core-builtin: fix brackets on shim'd helpers shim_ccosl and shim_csinl

do you mind checking to see if this fixes the issue for you?

ColinIanKing commented 7 months ago

Hi, do you mind testing this and letting me know the result so I can close this issue?

kloczek commented 7 months ago

One sec will try to do that now 😋

kloczek commented 7 months ago

Just tested 0.17.07 + def3aa78 and build still fails

[tkloczko@pers-jacek stress-ng-0.17.07]$ make -k VERBOSE=1
CC stress-cpu.c
cc -Wall -Wextra -DVERSION='"0.17.07"' -std=gnu99 -O2 -Wformat -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Werror=format-security -fipa-pta -c -o stress-cpu.o stress-cpu.c
In file included from stress-cpu.c:24:
stress-cpu.c: In function ‘zeta’:
core-builtin.h:94:37: error: ‘y’ undeclared (first use in this function)
   94 | #define shim_cpow(x, z) (shim_cexp((y) * shim_clog((x))))
      |                                     ^
core-builtin.h:385:30: note: in definition of macro ‘shim_cexp’
  385 | #define shim_cexp(x)    cexp(x)
      |                              ^
stress-cpu.c:1523:38: note: in expansion of macro ‘shim_cpow’
 1523 |                 double complex pwr = shim_cpow(i++, (complex double)s);
      |                                      ^~~~~~~~~
core-builtin.h:94:37: note: each undeclared identifier is reported only once for each function it appears in
   94 | #define shim_cpow(x, z) (shim_cexp((y) * shim_clog((x))))
      |                                     ^
core-builtin.h:385:30: note: in definition of macro ‘shim_cexp’
  385 | #define shim_cexp(x)    cexp(x)
      |                              ^
stress-cpu.c:1523:38: note: in expansion of macro ‘shim_cpow’
 1523 |                 double complex pwr = shim_cpow(i++, (complex double)s);
      |                                      ^~~~~~~~~
core-builtin.h:74:25: warning: absolute value function ‘cabs’ given an argument of type ‘long double’ but has parameter of type ‘double’ which may cause truncation of value [-Wabsolute-value]
   74 | #define shim_cabsl(x)   cabs(x)
      |                         ^~~~
stress-cpu.c:1526:18: note: in expansion of macro ‘shim_cabsl’
 1526 |         } while (shim_cabsl(z - zold) > precision);
      |                  ^~~~~~~~~~
stress-cpu.c:1516:35: warning: unused parameter ‘s’ [-Wunused-parameter]
 1516 |         const long double complex s,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^
make: *** [Makefile:666: stress-cpu.o] Error 1
CC stress-enosys.c
cc -Wall -Wextra -DVERSION='"0.17.07"' -std=gnu99 -O2 -Wformat -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Werror=format-security -fipa-pta -c -o stress-enosys.o stress-enosys.c
stress-enosys.c:938:9: error: ‘SYS_lsm_modules’ undeclared here (not in a function); did you mean ‘SYS_lsm_list_modules’?
  938 |         SYS_lsm_modules,
      |         ^~~~~~~~~~~~~~~
      |         SYS_lsm_list_modules
make: *** [Makefile:666: stress-enosys.o] Error 1
make: Target 'all' not remade because of errors.
ColinIanKing commented 7 months ago

I've pushed another fix:

commit f76dadad58bfdda75aa4cd21ee1c024dc382fc42 (HEAD -> master) Author: Colin Ian King colin.i.king@gmail.com Date: Thu Apr 18 15:26:00 2024 +0100

core-builtin: fix macros and shims

please pull these changes and re-test. Thank you :-)

kloczek commented 7 months ago

Cannot apply that commit patch on top of last release. Do you have any plans to release updated version .. soon? 🤔

Will see can I apply full sequence of commits patches on top of last release .. on sec.

kloczek commented 7 months ago

After add to my rpm build procedure full set of patches added after last release I still have one fail

[tkloczko@pers-jacek stress-ng-0.17.07]$ make -k
CC stress-enosys.c
stress-enosys.c:938:9: error: ‘SYS_lsm_modules’ undeclared here (not in a function); did you mean ‘SYS_lsm_list_modules’?
  938 |         SYS_lsm_modules,
      |         ^~~~~~~~~~~~~~~
      |         SYS_lsm_list_modules
make: *** [Makefile:668: stress-enosys.o] Error 1
make: Target 'all' not remade because of errors.
ColinIanKing commented 7 months ago

Oops, my bad. fix pushed:

commit 5664f92343aa327718ab19fd371f116155407344 (HEAD -> master) Author: Colin Ian King colin.i.king@gmail.com Date: Thu Apr 18 19:01:35 2024 +0100

stress-enosys: fix typo: SYS_lsm_modules -> SYS_lsm_list_modules
ColinIanKing commented 7 months ago

I plan to release in early month, the release cadence is monthly.

kloczek commented 7 months ago

One sec .. must update my spec 😋

kloczek commented 7 months ago

OK my package now builds correctly however build still is not 100% clean 😋

[tkloczko@pers-jacek SPECS]$ rpmbuild -ba --quiet 2>&1 | grep -- \\[-W | sed 's/.*\[//; s/\]//' | sort | uniq -c | sort -nr
      1 -Wunused-variable
      1 -Wunused-function

😋

ColinIanKing commented 7 months ago

I can't reproduce the -Wunused-* warnings on my builds. Any idea of what symbols these refer to?

kloczek commented 7 months ago
Here is extracted stderr which could help you: ```console stress-prime.c:55:26: warning: ‘stress_prime_alarm_handler’ defined but not used [-Wunused-function] 55 | static void MLOCKED_TEXT stress_prime_alarm_handler(int signum) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ stress-prime.c:33:13: warning: ‘jumped’ defined but not used [-Wunused-variable] 33 | static bool jumped; | ^~~~~~ ```

If may I ask about one thing which is off-topic of this ticket .. 😋 During final review of the packaging procedure and build log I've noticed that you've hardcoded -fipa-pta optimisation option. Usually I'm trying to get rid of any hardcoded optimisation wand warnings options to have 100% control of those aspects from outside of raw build procedure. When I've added patch for that I found that it is kind of unknown optimisation option for me so I've started digging around and looks like potentially it could make some positive effect everywhere. Do you have any stats about how effective it is and/or how big impact of that optimisation actually is? 🤔 PS. I'm thinking about add that option to default set of optimisations which I have defined in rpm macros.

ColinIanKing commented 7 months ago

The win is small, overall it makes a slight difference where there are a lot of inter-procedurial calls. Attached is a sample of my benchmarks I did late last year. stress-ng-fipa-pta.pdf

ColinIanKing commented 7 months ago

Build warnings fixed with commit:

commit efbe18878ed7612c0937e63c4d51d64beae35cb3 (HEAD -> master) Author: Colin Ian King colin.i.king@gmail.com Date: Fri Apr 19 10:59:06 2024 +0100

stress-prime: move variables and a function to clean up build warning