← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Bug 2103671] [NEW] test_parser_testsuite in ubuntu_qrt_apparmor failed to build on J/xilinx

 

Public bug reported:

Issue found on j/xilinx 5.15.0-1043.47 since sru-20250113

This issue can only be found with j/xilinx. j/linux ARM64 does not have
this issue.

Wei-Lin found some discussion on the Internet:
https://lists.freebsd.org/archives/freebsd-arm/2023-April/002487.html
https://github.com/llvm/llvm-project/issues/63483

This rings a bell that we should probably check the version of g++, and
investigation shows we are using 11.4.0-1ubuntu1~22.04 on j/linux but
11.3.0-1ubuntu1~22.04 was used on j/xilinx.

Test output:
 Running test: './test-apparmor.py' distro: 'Ubuntu 22.04' kernel: '5.15.0-1043.47 (Ubuntu 5.15.0-1043.47-xilinx-zynqmp 5.15.173)' arch: 'arm64' init: 'systemd' uid: 0/0 SUDO_USER: 'ubuntu')
 test_parser_testsuite (__main__.ApparmorTestsuites)
 Skipping private tests
 
 Run parser regression tests ... (Applying patch 0001-tests-regression-apparmor-syscall.sh-fail-iopl-ioper.patch) (Applying patch 0001-tests-regression-apparmor-capabilities.sh-fail-iopl-.patch) (Applying patch tests-fix-variable-type-for-getopt.patch) (Applying patch tests-parse-result-of-multiple-lines-in-output.patch) (Applying patch utils-fix-aa-notify-last-login-test-3.0.patch) FAIL
 
 ======================================================================
 FAIL: test_parser_testsuite (__main__.ApparmorTestsuites)
 Run parser regression tests
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/home/ubuntu/autotest/client/tmp/ubuntu_qrt_apparmor/src/qa-regression-testing/scripts/./test-apparmor.py", line 2366, in test_parser_testsuite
     self.assertEqual(expected, rc, result + report)
 AssertionError: 0 != 2 : Got exit code 2, expected 0
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_common.o parser_common.c
   preparing apparmor_3.0.4-2ubuntu2.4.dsc...  done
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_include.o parser_include.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_interface.o parser_interface.c
 bison -d --define=parse.error=verbose -o parser_yacc.c parser_yacc.y
 flex -B -v --noyy_top_state -oparser_lex.c parser_lex.l
 flex version 2.6.4 usage statistics:
   scanner options: -svB8 -Cem -oparser_lex.c
   1230/2000 NFA states
   522/1000 DFA states (5511 words)
   84 rules
   Compressed tables always back-up
   23/40 start conditions
   647 epsilon states, 474 double epsilon states
   133/200 character classes needed 4635/4750 words of storage, 0 reused
   22106 state/nextstate pairs created
   2372/19734 unique/duplicate transitions
   633/1000 base-def entries created
   4027/6000 (peak 8154) nxt-chk entries created
   2220/7500 (peak 6216) template nxt-chk entries created
   373 empty table entries
   126 protos created
   111 templates created, 277 uses
   56/256 equivalence classes created
   20/256 meta-equivalence classes created
   0 (72 saved) hash collisions, 1897 DFAs equal
   22 sets of reallocations needed
   9632 total table entries needed
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_lex.o parser_lex.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_main.o parser_main.c
 ../common/list_capabilities.sh | LC_ALL=C sed -n -e "s/[ \\t]\\?CAP_\\([A-Z0-9_]\\+\\)/\{\"\\L\\1\", \\UCAP_\\1, NO_BACKMAP_CAP, CAPFLAG_BASE_FEATURE\},\\n/pg" > generated_cap_names.h
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_misc.o parser_misc.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_merge.o parser_merge.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_symtab.o parser_symtab.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_yacc.o parser_yacc.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_regex.o parser_regex.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_variable.o parser_variable.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_policy.o parser_policy.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_alias.o parser_alias.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o common_optarg.o common_optarg.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o lib.o lib.c
 ../common/list_af_names.sh > generated_af_names.h
 cat base_af_names.h | diff -u - generated_af_names.h | grep -v '^.AF_MAX' | grep '^\+[^+]' ; \
 if [ $? -eq 1 ] ; then \
     cat base_af_names.h | LC_ALL=C sed -n -e 's/[ \t]\?AF_MAX[ \t]\+[0-9]\+,//g'  -e 's/[ \t]\+\?AF_\([A-Z0-9_]\+\)[ \t]\+\([0-9]\+\),/#ifndef AF_\1\n#  define AF_\1 \2\n#endif\nAA_GEN_NET_ENT("\L\1", \UAF_\1)\n/pg' > af_names.h ; \
     cat base_af_names.h | LC_ALL=C sed -n -e 's/AF_MAX[ \t]\+\([0-9]\+\),\?.*/\n#define AA_AF_MAX \1\n/p' >> af_names.h ; \
 else \
     echo "Error: new AF names detected; please update base_af_names.h with values from generated_af_names.h" ; \
     exit 1 ; \
 fi
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o network.o network.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o mount.o mount.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o dbus.o dbus.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o profile.o profile.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o rule.o rule.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o signal.o signal.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o ptrace.o ptrace.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o af_rule.o af_rule.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o af_unix.o af_unix.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o policy_cache.o policy_cache.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o default_features.o default_features.c
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o mqueue.o mqueue.cc
 make -C libapparmor_re CFLAGS="-g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x"
 make[1]: Entering directory '/tmp/testlibi8w_hg38/source/jammy/apparmor-3.0.4/parser/libapparmor_re'
 bison -o parse.cc parse.y
 parse.y:63.1-21: warning: deprecated directive: ‘%name-prefix "regex_"’, use ‘%define api.prefix {regex_}’ [-Wdeprecated]
    63 | %name-prefix "regex_"
       | ^~~~~~~~~~~~~~~~~~~~~
       | %define api.prefix {regex_}
 parse.y: warning: fix-its can be applied.  Rerun with option '--update'. [-Wother]
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o parse.o parse.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o expr-tree.o expr-tree.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o hfa.o hfa.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o chfa.o chfa.cc
 g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o aare_rules.o aare_rules.cc
 ar -rcs libapparmor_re.a parse.o expr-tree.o hfa.o chfa.o aare_rules.o
 make[1]: Leaving directory '/tmp/testlibi8w_hg38/source/jammy/apparmor-3.0.4/parser/libapparmor_re'
 g++  -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -o apparmor_parser parser_common.o parser_include.o parser_interface.o parser_lex.o parser_main.o parser_misc.o parser_merge.o parser_symtab.o parser_yacc.o parser_regex.o parser_variable.o parser_policy.o parser_alias.o common_optarg.o lib.o network.o  mount.o  dbus.o  profile.o  rule.o  signal.o  ptrace.o  af_rule.o  af_unix.o policy_cache.o default_features.o  mqueue.o  \
         libapparmor_re/libapparmor_re.a -static-libgcc -static-libstdc++ -L.  -Wl,-Bstatic -lapparmor -Wl,-Bdynamic -lpthread
 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/libapparmor.a(private.o): in function `atomic_inc':
 (.text+0x4d0): undefined reference to `__aarch64_ldadd4_sync'
 /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/libapparmor.a(private.o): in function `atomic_dec_and_test':
 (.text+0x4f0): undefined reference to `__aarch64_ldadd4_sync'
 collect2: error: ld returned 1 exit status
 make: *** [Makefile:215: apparmor_parser] Error 1

** Affects: ubuntu-kernel-tests
     Importance: Undecided
     Assignee: Po-Hsu Lin (cypressyew)
         Status: In Progress


** Tags: 5.15 jammy sru-20250113 sru-20250210 ubuntu-qrt-apparmor

** Changed in: ubuntu-kernel-tests
     Assignee: (unassigned) => Po-Hsu Lin (cypressyew)

** Changed in: ubuntu-kernel-tests
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Canonical
Platform QA Team, which is subscribed to ubuntu-kernel-tests.
https://bugs.launchpad.net/bugs/2103671

Title:
  test_parser_testsuite in ubuntu_qrt_apparmor failed to build on
  J/xilinx

Status in ubuntu-kernel-tests:
  In Progress

Bug description:
  Issue found on j/xilinx 5.15.0-1043.47 since sru-20250113

  This issue can only be found with j/xilinx. j/linux ARM64 does not
  have this issue.

  Wei-Lin found some discussion on the Internet:
  https://lists.freebsd.org/archives/freebsd-arm/2023-April/002487.html
  https://github.com/llvm/llvm-project/issues/63483

  This rings a bell that we should probably check the version of g++,
  and investigation shows we are using 11.4.0-1ubuntu1~22.04 on j/linux
  but 11.3.0-1ubuntu1~22.04 was used on j/xilinx.

  Test output:
   Running test: './test-apparmor.py' distro: 'Ubuntu 22.04' kernel: '5.15.0-1043.47 (Ubuntu 5.15.0-1043.47-xilinx-zynqmp 5.15.173)' arch: 'arm64' init: 'systemd' uid: 0/0 SUDO_USER: 'ubuntu')
   test_parser_testsuite (__main__.ApparmorTestsuites)
   Skipping private tests
   
   Run parser regression tests ... (Applying patch 0001-tests-regression-apparmor-syscall.sh-fail-iopl-ioper.patch) (Applying patch 0001-tests-regression-apparmor-capabilities.sh-fail-iopl-.patch) (Applying patch tests-fix-variable-type-for-getopt.patch) (Applying patch tests-parse-result-of-multiple-lines-in-output.patch) (Applying patch utils-fix-aa-notify-last-login-test-3.0.patch) FAIL
   
   ======================================================================
   FAIL: test_parser_testsuite (__main__.ApparmorTestsuites)
   Run parser regression tests
   ----------------------------------------------------------------------
   Traceback (most recent call last):
     File "/home/ubuntu/autotest/client/tmp/ubuntu_qrt_apparmor/src/qa-regression-testing/scripts/./test-apparmor.py", line 2366, in test_parser_testsuite
       self.assertEqual(expected, rc, result + report)
   AssertionError: 0 != 2 : Got exit code 2, expected 0
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_common.o parser_common.c
     preparing apparmor_3.0.4-2ubuntu2.4.dsc...  done
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_include.o parser_include.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_interface.o parser_interface.c
   bison -d --define=parse.error=verbose -o parser_yacc.c parser_yacc.y
   flex -B -v --noyy_top_state -oparser_lex.c parser_lex.l
   flex version 2.6.4 usage statistics:
     scanner options: -svB8 -Cem -oparser_lex.c
     1230/2000 NFA states
     522/1000 DFA states (5511 words)
     84 rules
     Compressed tables always back-up
     23/40 start conditions
     647 epsilon states, 474 double epsilon states
     133/200 character classes needed 4635/4750 words of storage, 0 reused
     22106 state/nextstate pairs created
     2372/19734 unique/duplicate transitions
     633/1000 base-def entries created
     4027/6000 (peak 8154) nxt-chk entries created
     2220/7500 (peak 6216) template nxt-chk entries created
     373 empty table entries
     126 protos created
     111 templates created, 277 uses
     56/256 equivalence classes created
     20/256 meta-equivalence classes created
     0 (72 saved) hash collisions, 1897 DFAs equal
     22 sets of reallocations needed
     9632 total table entries needed
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_lex.o parser_lex.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_main.o parser_main.c
   ../common/list_capabilities.sh | LC_ALL=C sed -n -e "s/[ \\t]\\?CAP_\\([A-Z0-9_]\\+\\)/\{\"\\L\\1\", \\UCAP_\\1, NO_BACKMAP_CAP, CAPFLAG_BASE_FEATURE\},\\n/pg" > generated_cap_names.h
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_misc.o parser_misc.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_merge.o parser_merge.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_symtab.o parser_symtab.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_yacc.o parser_yacc.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_regex.o parser_regex.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_variable.o parser_variable.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_policy.o parser_policy.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o parser_alias.o parser_alias.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o common_optarg.o common_optarg.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o lib.o lib.c
   ../common/list_af_names.sh > generated_af_names.h
   cat base_af_names.h | diff -u - generated_af_names.h | grep -v '^.AF_MAX' | grep '^\+[^+]' ; \
   if [ $? -eq 1 ] ; then \
       cat base_af_names.h | LC_ALL=C sed -n -e 's/[ \t]\?AF_MAX[ \t]\+[0-9]\+,//g'  -e 's/[ \t]\+\?AF_\([A-Z0-9_]\+\)[ \t]\+\([0-9]\+\),/#ifndef AF_\1\n#  define AF_\1 \2\n#endif\nAA_GEN_NET_ENT("\L\1", \UAF_\1)\n/pg' > af_names.h ; \
       cat base_af_names.h | LC_ALL=C sed -n -e 's/AF_MAX[ \t]\+\([0-9]\+\),\?.*/\n#define AA_AF_MAX \1\n/p' >> af_names.h ; \
   else \
       echo "Error: new AF names detected; please update base_af_names.h with values from generated_af_names.h" ; \
       exit 1 ; \
   fi
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o network.o network.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o mount.o mount.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o dbus.o dbus.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o profile.o profile.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o rule.o rule.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o signal.o signal.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o ptrace.o ptrace.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o af_rule.o af_rule.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o af_unix.o af_unix.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o policy_cache.o policy_cache.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o default_features.o default_features.c
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -c -o mqueue.o mqueue.cc
   make -C libapparmor_re CFLAGS="-g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x"
   make[1]: Entering directory '/tmp/testlibi8w_hg38/source/jammy/apparmor-3.0.4/parser/libapparmor_re'
   bison -o parse.cc parse.y
   parse.y:63.1-21: warning: deprecated directive: ‘%name-prefix "regex_"’, use ‘%define api.prefix {regex_}’ [-Wdeprecated]
      63 | %name-prefix "regex_"
         | ^~~~~~~~~~~~~~~~~~~~~
         | %define api.prefix {regex_}
   parse.y: warning: fix-its can be applied.  Rerun with option '--update'. [-Wother]
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o parse.o parse.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o expr-tree.o expr-tree.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o hfa.o hfa.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o chfa.o chfa.cc
   g++ -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x    -c -o aare_rules.o aare_rules.cc
   ar -rcs libapparmor_re.a parse.o expr-tree.o hfa.o chfa.o aare_rules.o
   make[1]: Leaving directory '/tmp/testlibi8w_hg38/source/jammy/apparmor-3.0.4/parser/libapparmor_re'
   g++  -g -O2 -pipe -D_GNU_SOURCE -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -std=gnu++0x  -DHAVE_REALLOCARRAY=1 -DPACKAGE=\"apparmor-parser\" -DLOCALEDIR=\"/usr/share/locale\"  -o apparmor_parser parser_common.o parser_include.o parser_interface.o parser_lex.o parser_main.o parser_misc.o parser_merge.o parser_symtab.o parser_yacc.o parser_regex.o parser_variable.o parser_policy.o parser_alias.o common_optarg.o lib.o network.o  mount.o  dbus.o  profile.o  rule.o  signal.o  ptrace.o  af_rule.o  af_unix.o policy_cache.o default_features.o  mqueue.o  \
           libapparmor_re/libapparmor_re.a -static-libgcc -static-libstdc++ -L.  -Wl,-Bstatic -lapparmor -Wl,-Bdynamic -lpthread
   /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/libapparmor.a(private.o): in function `atomic_inc':
   (.text+0x4d0): undefined reference to `__aarch64_ldadd4_sync'
   /usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/libapparmor.a(private.o): in function `atomic_dec_and_test':
   (.text+0x4f0): undefined reference to `__aarch64_ldadd4_sync'
   collect2: error: ld returned 1 exit status
   make: *** [Makefile:215: apparmor_parser] Error 1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2103671/+subscriptions