[Touch-packages] [Bug 1887397] Re: perf build broken after updating to bintuils 2.34.90.20200706-1ubuntu1

2020-07-13 Thread Andrea Righi
** Attachment added: "perf object files / build tree"
   
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1887397/+attachment/5392329/+files/perf-build-fail.tar.gz

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1887397

Title:
  perf build broken after updating to bintuils 2.34.90.20200706-1ubuntu1

Status in binutils package in Ubuntu:
  New
Status in binutils source package in Groovy:
  New

Bug description:
  After updating to binutils 2.34.90.20200706-1ubuntu1 Linux' perf build
  is failing with the following error:

  
/usr/bin/ld:/tmp/autopkgtest.440kEd/build.N7g/src/debian/build/tools-perarch/tools/lib/traceevent/plugins/libtraceevent-dynamic-list:2:
 ignoring invalid character `@' in script
  
/usr/bin/ld:/tmp/autopkgtest.440kEd/build.N7g/src/debian/build/tools-perarch/tools/lib/traceevent/plugins/libtraceevent-dynamic-list:2:
 ignoring invalid character `@' in script
  
/usr/bin/ld:/tmp/autopkgtest.440kEd/build.N7g/src/debian/build/tools-perarch/tools/lib/traceevent/plugins/libtraceevent-dynamic-list:2:
 syntax error in dynamic list
  collect2: error: ld returned 1 exit status

  The file mentioned in the error (libtraceevent-dynamic-list) contains
  some '@' that ld doesn't seem to like:

  $ cat lib/traceevent/plugins/libtraceevent-dynamic-list
  {
  __stack_chk_fail@@GLIBC_2.4;
  free@@GLIBC_2.2.5;
  memset@@GLIBC_2.2.5;
  realloc@@GLIBC_2.2.5;
  sprintf@@GLIBC_2.2.5;
  strcmp@@GLIBC_2.2.5;
  strdup@@GLIBC_2.2.5;
  strncmp@@GLIBC_2.2.5;
  tep_find_any_field;
  tep_find_field;
  tep_find_function;
  tep_find_function_address;
  tep_get_field_raw;
  tep_get_field_val;
  tep_is_file_bigendian;
  tep_is_local_bigendian;
  tep_plugin_add_options;
  tep_plugin_remove_options;
  tep_print_func_field;
  tep_print_num_field;
  tep_read_number_field;
  tep_register_comm;
  tep_register_event_handler;
  tep_register_print_function;
  tep_unregister_event_handler;
  tep_unregister_print_function;
  trace_seq_printf;
  trace_seq_putc;
  trace_seq_puts;
  trace_seq_terminate;
  warning;
  };

  The same file generated in a Focal environment (w/ binutils
  2.34-6ubuntu1) looks as following:

  $ cat lib/traceevent/plugins/libtraceevent-dynamic-list
  {
  __stack_chk_fail;
  free;
  memset;
  realloc;
  sprintf;
  strcmp;
  strdup;
  strncmp;
  tep_find_any_field;
  tep_find_field;
  tep_find_function;
  tep_find_function_address;
  tep_get_field_raw;
  tep_get_field_val;
  tep_is_file_bigendian;
  tep_is_local_bigendian;
  tep_plugin_add_options;
  tep_plugin_remove_options;
  tep_print_func_field;
  tep_print_num_field;
  tep_read_number_field;
  tep_register_comm;
  tep_register_event_handler;
  tep_register_print_function;
  tep_unregister_event_handler;
  tep_unregister_print_function;
  trace_seq_printf;
  trace_seq_putc;
  trace_seq_puts;
  trace_seq_terminate;
  warning;
  };

  And here is the chunk of Makefile that is generating this file:

  define do_generate_dynamic_list_file
  symbol_type=`$(NM) -u -D $1 | awk 'NF>1 {print $$1}' | \
  xargs echo "U w W" | tr 'w ' 'W\n' | sort -u | xargs echo`;\
  if [ "$$symbol_type" = "U W" ];then \
  (echo '{';  \
  $(NM) -u -D $1 | awk 'NF>1 {print "\t"$$2";"}' | sort -u;\
  echo '};';  \
  ) > $2; \
  else\
  (echo Either missing one of [$1] or bad version of $(NM)) 
1>&2;\
  fi

  My guess is that something changed in the output of `nm` to show the @
  charaters that ld does not like.

  This problem is currently breaking all kernel builds in Groovy.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1887397/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp


[Touch-packages] [Bug 1887397] Re: perf build broken after updating to bintuils 2.34.90.20200706-1ubuntu1

2020-07-13 Thread Andrea Righi
Adding the specific command that is reporting error:

gcc  -Wbad-function-cast -Wdeclaration-after-statement -Wformat-security 
-Wformat-y2k -Winit-self -Wmissing-declarations -Wmissing-prototypes 
-Wnested-externs -Wno-system-headers -Wold-style-definition -Wpacked 
-Wredundant-decls -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef 
-Wwrite-strings -Wformat -Wstrict-aliasing=3 -Wshadow 
-DHAVE_ARCH_X86_64_SUPPORT -Iarch/x86/include/generated 
-DHAVE_SYSCALL_TABLE_SUPPORT -DHAVE_PERF_REGS_SUPPORT 
-DHAVE_ARCH_REGS_QUERY_REGISTER_OFFSET -Werror -O6 -fno-omit-frame-pointer 
-ggdb3 -funwind-tables -Wall -Wextra -std=gnu99 -fstack-protector-all 
-D_FORTIFY_SOURCE=2 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/perf/lib/include 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/perf/util/include 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/perf/arch/x86/include
 -I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/include/ 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/arch/x86/include/uapi
 -I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/include/uapi 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/arch/x86/include/ 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/arch/x86/ 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/perf/util 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/perf 
-I/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/lib/ 
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE 
-DHAVE_SYNC_COMPARE_AND_SWAP_SUPPORT -DHAVE_PTHREAD_ATTR_SETAFFINITY_NP 
-DHAVE_PTHREAD_BARRIER -DHAVE_EVENTFD -DHAVE_GET_CURRENT_DIR_NAME -DHAVE_GETTID 
-DHAVE_DWARF_GETLOCATIONS_SUPPORT -DHAVE_GLIBC_SUPPORT -DHAVE_AIO_SUPPORT 
-DHAVE_SCHED_GETCPU_SUPPORT -DHAVE_SETNS_SUPPORT -DHAVE_LIBELF_SUPPORT 
-DHAVE_LIBELF_MMAP_SUPPORT -DHAVE_ELF_GETPHDRNUM_SUPPORT 
-DHAVE_GELF_GETNOTE_SUPPORT -DHAVE_ELF_GETSHDRSTRNDX_SUPPORT 
-DHAVE_DWARF_SUPPORT  -DHAVE_LIBBPF_SUPPORT -DHAVE_BPF_PROLOGUE -DHAVE_JITDUMP 
-DHAVE_DWARF_UNWIND_SUPPORT -DNO_LIBUNWIND_DEBUG_FRAME -DHAVE_LIBUNWIND_SUPPORT 
-DHAVE_LIBCRYPTO_SUPPORT -DHAVE_SLANG_SUPPORT -DNO_LIBPERL 
-DHAVE_TIMERFD_SUPPORT -DNO_LIBPYTHON -DHAVE_CPLUS_DEMANGLE_SUPPORT 
-DHAVE_ZLIB_SUPPORT -DHAVE_LZMA_SUPPORT -DHAVE_LIBCAP_SUPPORT 
-DHAVE_BACKTRACE_SUPPORT -DHAVE_LIBNUMA_SUPPORT -DHAVE_KVM_STAT_SUPPORT 
-DHAVE_AUXTRACE_SUPPORT -DHAVE_JVMTI_CMLR -Wl,-z,noexecstack  -lunwind-x86_64 
-lunwind -llzma  -Xlinker 
--dynamic-list=/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/lib/traceevent/plugins/libtraceevent-dynamic-list
 \
perf-in.o pmu-events/pmu-events-in.o -Wl,--whole-archive 
/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/lib/api/libapi.a 
/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/lib/traceevent/libtraceevent.a
 
/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/lib/subcmd/libsubcmd.a
 /home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/perf/lib/libperf.a 
/home/arighi/canonical/kernel/ubuntu/unstable/linux/tools/lib/bpf/libbpf.a  
-Wl,--no-whole-archive -Wl,--start-group -lpthread -lrt -lm -ldl -lelf -ldw 
-lunwind-x86_64 -lunwind -llzma -lcrypto -lslang -liberty -lz -llzma -lcap 
-lnuma -Wl,--end-group -o perf

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1887397

Title:
  perf build broken after updating to bintuils 2.34.90.20200706-1ubuntu1

Status in binutils package in Ubuntu:
  New
Status in binutils source package in Groovy:
  New

Bug description:
  After updating to binutils 2.34.90.20200706-1ubuntu1 Linux' perf build
  is failing with the following error:

  
/usr/bin/ld:/tmp/autopkgtest.440kEd/build.N7g/src/debian/build/tools-perarch/tools/lib/traceevent/plugins/libtraceevent-dynamic-list:2:
 ignoring invalid character `@' in script
  
/usr/bin/ld:/tmp/autopkgtest.440kEd/build.N7g/src/debian/build/tools-perarch/tools/lib/traceevent/plugins/libtraceevent-dynamic-list:2:
 ignoring invalid character `@' in script
  
/usr/bin/ld:/tmp/autopkgtest.440kEd/build.N7g/src/debian/build/tools-perarch/tools/lib/traceevent/plugins/libtraceevent-dynamic-list:2:
 syntax error in dynamic list
  collect2: error: ld returned 1 exit status

  The file mentioned in the error (libtraceevent-dynamic-list) contains
  some '@' that ld doesn't seem to like:

  $ cat lib/traceevent/plugins/libtraceevent-dynamic-list
  {
  __stack_chk_fail@@GLIBC_2.4;
  free@@GLIBC_2.2.5;
  memset@@GLIBC_2.2.5;
  realloc@@GLIBC_2.2.5;
  sprintf@@GLIBC_2.2.5;
  strcmp@@GLIBC_2.2.5;
  strdup@@GLIBC_2.2.5;
  strncmp@@GLIBC_2.2.5;
  tep_find_any_field;
  tep_find_field;
  tep_find_function;
  tep_find_function_address;
  tep_get_field_raw;
  tep_get_field_val;
  tep_is_file_bigendian;