archive mirror
 help / color / mirror / Atom feed
From: "Chen, Rong A" <>
To: Thomas Gleixner <>,
	Dave Hansen <>,
	kernel test robot <>,
	Dave Hansen <>
	Andrew Morton <>,
	Linux Memory Management List <>
Subject: Re: [kbuild-all] Re: sparc64-linux-gcc: error: unrecognized command-line option '-mxsave'
Date: Mon, 9 Aug 2021 09:54:15 +0800	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <87a6lu68xv.ffs@tglx>

[-- Attachment #1: Type: text/plain, Size: 1839 bytes --]

On 8/6/2021 8:42 PM, Thomas Gleixner wrote:
> On Wed, Aug 04 2021 at 17:04, Rong A. Chen wrote:
>> On 7/27/2021 10:52 PM, Dave Hansen wrote:
>>> On 7/26/21 8:11 PM, kernel test robot wrote:
>>>>>> sparc64-linux-gcc: error: unrecognized command-line option '-mxsave'
>>> Is there something else funky going on here?  All of the "-mxsave" flags
>>> that I can find are under checks for x86 builds, like:
>>> 	ifeq ($(CAN_BUILD_I386),1)
>>> 	$(BINARIES_32): CFLAGS += -m32 -mxsave
>>> 	..
>>> I'm confused how we could have a sparc64 compiler (and only a sparc64
>>> compiler) that would end up with "-mxsave" in CFLAGS.
>> Hi Dave,
>> We can reproduce the error and have no idea too, but we have disabled
>> the test for selftests on non-x86 arch.
> This smells like a host/target compiler mixup. Can you please make the
> kernel build verbose with 'V=1' and provide the full build output?

Hi Thomas,

I run the below command:

$make V=1 --keep-going CROSS_COMPILE=sparc64-linux- -j1 O=build_dir 
ARCH=sparc64 -C tools/testing/selftests/vm
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie -m32 -mxsave 
  protection_keys.c -lrt -lpthread -lrt -ldl -lm -o 
sparc64-linux-gcc: error: unrecognized command-line option '-mxsave'
make: *** [Makefile:107: 
/root/linux/tools/testing/selftests/vm/protection_keys_32] Error 1
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie -m64 -mxsave 
  protection_keys.c -lrt -lpthread -lrt -ldl -o 
sparc64-linux-gcc: error: unrecognized command-line option '-mxsave'
make: *** [Makefile:115: 
/root/linux/tools/testing/selftests/vm/protection_keys_64] Error 1

and I attached the full build output for your reference.

Best Regards,
Rong Chen

[-- Attachment #2: log --]
[-- Type: text/plain, Size: 9145 bytes --]

make: Entering directory '/root/linux/tools/testing/selftests/vm'
/bin/sh ./ sparc64-linux-gcc
make --no-builtin-rules ARCH=sparc64 -C ../../../.. headers_install
make[1]: Entering directory '/root/linux'
make -C /root/linux/build_dir -f /root/linux/Makefile headers_install
make[2]: Entering directory '/root/linux/build_dir'
set -e; mkdir -p include/generated/uapi/linux/; trap "rm -f include/generated/uapi/linux/.version.h.tmp" EXIT; { 	if [  0 -gt 255 ]; then echo \#define LINUX_VERSION_CODE 331263; else echo \#define LINUX_VERSION_CODE 331008; fi; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))'; echo \#define LINUX_VERSION_MAJOR 5; echo \#define LINUX_VERSION_PATCHLEVEL  13; echo \#define LINUX_VERSION_SUBLEVEL  0; } > include/generated/uapi/linux/.version.h.tmp; if [ ! -r include/generated/uapi/linux/version.h ] || ! cmp -s include/generated/uapi/linux/version.h include/generated/uapi/linux/.version.h.tmp; then : '  UPD     include/generated/uapi/linux/version.h'; mv -f include/generated/uapi/linux/.version.h.tmp include/generated/uapi/linux/version.h; fi
make -f ../scripts/ obj=scripts/basic
rm -f .tmp_quiet_recordmcount
make -f ../scripts/ obj=scripts scripts/unifdef
make -f ../scripts/Makefile.asm-generic obj=arch/sparc/include/generated/uapi/asm \
make -f ../scripts/ obj=arch/sparc/kernel/syscalls all
make -f ../scripts/Makefile.headersinst obj=include/uapi
make -f ../scripts/Makefile.headersinst obj=arch/sparc/include/uapi
  mkdir -p ./usr; rsync -mrl --include='*/' --include='*\.h' --exclude='*' usr/include ./usr
make[2]: Leaving directory '/root/linux/build_dir'
make[1]: Leaving directory '/root/linux'
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    compaction_test.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/compaction_test
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    gup_test.c ../../../../mm/gup_test.h -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/gup_test
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    hmm-tests.c local_config.h -lrt -lpthread  -o /root/linux/tools/testing/selftests/vm/hmm-tests
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    hugepage-mmap.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/hugepage-mmap
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    hugepage-shm.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/hugepage-shm
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    khugepaged.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/khugepaged
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    madv_populate.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/madv_populate
madv_populate.c:334:2: warning: #warning "missing MADV_POPULATE_READ or MADV_POPULATE_WRITE definition" [-Wcpp]
  334 | #warning "missing MADV_POPULATE_READ or MADV_POPULATE_WRITE definition"
      |  ^~~~~~~
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    map_fixed_noreplace.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/map_fixed_noreplace
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    map_hugetlb.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/map_hugetlb
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    map_populate.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/map_populate
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    mlock-random-test.c -lrt -lpthread -lcap -o /root/linux/tools/testing/selftests/vm/mlock-random-test
mlock-random-test.c:8:10: fatal error: sys/capability.h: No such file or directory
    8 | #include <sys/capability.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [../ /root/linux/tools/testing/selftests/vm/mlock-random-test] Error 1
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    mlock2-tests.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/mlock2-tests
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    mremap_dontunmap.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/mremap_dontunmap
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    mremap_test.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/mremap_test
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    on-fault-limit.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/on-fault-limit
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    thuge-gen.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/thuge-gen
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    transhuge-stress.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/transhuge-stress
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    userfaultfd.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/userfaultfd
userfaultfd.c:338:58: error: '_UFFDIO_CONTINUE' undeclared here (not in a function)
  338 |  .expected_ioctls = UFFD_API_RANGE_IOCTLS_BASIC & ~(1 << _UFFDIO_CONTINUE),
      |                                                          ^~~~~~~~~~~~~~~~
userfaultfd.c: In function 'userfaultfd_open':
userfaultfd.c:350:60: error: 'UFFD_USER_MODE_ONLY' undeclared (first use in this function)
  350 |  uffd = syscall(__NR_userfaultfd, O_CLOEXEC | O_NONBLOCK | UFFD_USER_MODE_ONLY);
      |                                                            ^~~~~~~~~~~~~~~~~~~
userfaultfd.c:350:60: note: each undeclared identifier is reported only once for each function it appears in
userfaultfd.c: In function 'continue_range':
userfaultfd.c:476:25: error: storage size of 'req' isn't known
  476 |  struct uffdio_continue req;
      |                         ^~~
userfaultfd.c:483:17: error: 'UFFDIO_CONTINUE' undeclared (first use in this function)
  483 |  if (ioctl(ufd, UFFDIO_CONTINUE, &req))
      |                 ^~~~~~~~~~~~~~~
userfaultfd.c:476:25: warning: unused variable 'req' [-Wunused-variable]
  476 |  struct uffdio_continue req;
      |                         ^~~
userfaultfd.c: In function 'uffd_handle_page_fault':
userfaultfd.c:637:40: error: 'UFFD_PAGEFAULT_FLAG_MINOR' undeclared (first use in this function); did you mean 'UFFD_PAGEFAULT_FLAG_WP'?
  637 |  } else if (msg->arg.pagefault.flags & UFFD_PAGEFAULT_FLAG_MINOR) {
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                        UFFD_PAGEFAULT_FLAG_WP
userfaultfd.c: In function 'userfaultfd_minor_test':
userfaultfd.c:1206:18: error: 'UFFD_FEATURE_MINOR_HUGETLBFS' undeclared (first use in this function); did you mean 'UFFD_FEATURE_MISSING_HUGETLBFS'?
 1206 |   req_features = UFFD_FEATURE_MINOR_HUGETLBFS;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                  UFFD_FEATURE_MISSING_HUGETLBFS
userfaultfd.c:1208:18: error: 'UFFD_FEATURE_MINOR_SHMEM' undeclared (first use in this function); did you mean 'UFFD_FEATURE_MISSING_SHMEM'?
 1208 |   req_features = UFFD_FEATURE_MINOR_SHMEM;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~
      |                  UFFD_FEATURE_MISSING_SHMEM
userfaultfd.c:1223:25: error: 'UFFDIO_REGISTER_MODE_MINOR' undeclared (first use in this function); did you mean 'UFFDIO_REGISTER_MODE_WP'?
 1223 |  uffdio_register.mode = UFFDIO_REGISTER_MODE_MINOR;
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         UFFDIO_REGISTER_MODE_WP
make: *** [../ /root/linux/tools/testing/selftests/vm/userfaultfd] Error 1
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    split_huge_page_test.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/split_huge_page_test
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie -m32 -mxsave  protection_keys.c -lrt -lpthread -lrt -ldl -lm -o /root/linux/tools/testing/selftests/vm/protection_keys_32
sparc64-linux-gcc: error: unrecognized command-line option '-mxsave'
make: *** [Makefile:107: /root/linux/tools/testing/selftests/vm/protection_keys_32] Error 1
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie -m64 -mxsave  protection_keys.c -lrt -lpthread -lrt -ldl -o /root/linux/tools/testing/selftests/vm/protection_keys_64
sparc64-linux-gcc: error: unrecognized command-line option '-mxsave'
make: *** [Makefile:115: /root/linux/tools/testing/selftests/vm/protection_keys_64] Error 1
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    va_128TBswitch.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/va_128TBswitch
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    virtual_address_range.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/virtual_address_range
sparc64-linux-gcc -Wall -I ../../../../usr/include  -no-pie    write_to_hugetlbfs.c -lrt -lpthread -o /root/linux/tools/testing/selftests/vm/write_to_hugetlbfs

Warning: missing libhugetlbfs support. Some HMM tests will be skipped.

make: Target 'all' not remade because of errors.
make: Leaving directory '/root/linux/tools/testing/selftests/vm'

  reply	other threads:[~2021-08-09  1:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-27  3:11 kernel test robot
2021-07-27 14:52 ` Dave Hansen
2021-08-04  9:04   ` [kbuild-all] " Chen, Rong A
2021-08-06 12:42     ` Thomas Gleixner
2021-08-09  1:54       ` Chen, Rong A [this message]
2021-08-09 10:17         ` Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \
    --subject='Re: [kbuild-all] Re: sparc64-linux-gcc: error: unrecognized command-line option '\''-mxsave'\''' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).