This bug is missing log files that will aid in diagnosing the problem.
While running an Ubuntu kernel (not a mainline or third-party kernel)
please enter the following command in a terminal window:
apport-collect 1887397
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable
to run this command, please add a comment stating that fact and change
the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the
Ubuntu Kernel Team.
** Changed in: linux (Ubuntu)
Status: New => Incomplete
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1887397
Title:
perf build broken after updating to bintuils 2.34.90.20200706-1ubuntu1
Status in linux package in Ubuntu:
Incomplete
Status in linux source package in Groovy:
Incomplete
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/linux/+bug/1887397/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp