Public bug reported:

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.

** Affects: binutils (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: binutils (Ubuntu Groovy)
     Importance: Undecided
         Status: New

** Also affects: binutils (Ubuntu Groovy)
   Importance: Undecided
       Status: New

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

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

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to