On Fri, Oct 23, 2020 at 07:36:57AM +0200, Jiri Olsa wrote: > On Thu, Oct 22, 2020 at 01:00:19PM -0700, Andrii Nakryiko wrote: > > SNIP > > > > > > > hi, > > > FYI there's still no solution yet, so far the progress is: > > > > > > the proposed workaround was to use the negation -> we don't have > > > DW_AT_declaration tag, so let's find out instead which DW_TAG_subprogram > > > tags have attached code and skip them if they don't have any: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97060#c10 > > > > > > the attached patch is doing that, but the resulting BTF is missing > > > several functions due to another bug in dwarf: > > > https://bugzilla.redhat.com/show_bug.cgi?id=1890107 > > > > It seems fine if there are only few functions (especially if those are > > unlikely to be traced). Do you have an estimate of how many functions > > have this second DWARF bug? > > it wasn't that many, I'll recheck 127 functions missing if the workaround is applied, list attached jirka --- 'acpi_ev_default_region_setup' 'acpi_ev_pci_bar_region_setup' 'acpi_ex_pci_bar_space_handler' 'acpi_ex_stop_trace_opcode' 'acpi_os_notify_command_complete' 'arch_cpu_idle_exit' 'arch_unregister_hw_breakpoint' 'bfqg_stats_set_start_empty_time' 'bfqg_stats_set_start_idle_time' 'bfqg_stats_update_avg_queue_size' 'bfqg_stats_update_idle_time' 'bfqg_stats_update_io_merged' 'blk_freeze_queue' 'cap_task_setnice' 'cryptd_aead_queued' 'devm_regmap_field_bulk_free' 'disable_nmi_nosync' 'ext4_ext_release' 'fs_param_is_path' 'HUF_isError' '__ia32_compat_sys_ftruncate' '__ia32_compat_sys_getsockopt' '__ia32_compat_sys_io_pgetevents_time32' '__ia32_compat_sys_preadv64' '__ia32_compat_sys_process_vm_readv' '__ia32_compat_sys_process_vm_writev' '__ia32_compat_sys_pwritev64' '__ia32_compat_sys_s390_ipc' '__ia32_compat_sys_setsockopt' '__ia32_sys_fadvise64' '__ia32_sys_getegid16' '__ia32_sys_geteuid16' '__ia32_sys_getgid16' '__ia32_sys_getuid16' '__ia32_sys_inotify_init' '__ia32_sys_io_pgetevents_time32' '__ia32_sys_ipc' '__ia32_sys_munlockall' '__ia32_sys_old_msgctl' '__ia32_sys_old_semctl' '__ia32_sys_old_shmctl' '__ia32_sys_pciconfig_iobase' '__ia32_sys_pciconfig_read' '__ia32_sys_pciconfig_write' '__ia32_sys_ppoll_time32' '__ia32_sys_pselect6_time32' '__ia32_sys_rtas' '__ia32_sys_s390_ipc' '__ia32_sys_s390_pci_mmio_read' '__ia32_sys_s390_pci_mmio_write' '__ia32_sys_sgetmask' '__ia32_sys_spu_create' '__ia32_sys_spu_run' '__ia32_sys_subpage_prot' '__ia32_sys_uselib' '__ia32_sys_vm86' '__ia32_sys_vm86old' 'ima_post_path_mknod' 'ima_show_template_buf' '__kfifo_skip_r' 'kstrtol_from_user' 'mdiobus_read_nested' 'mdiobus_write_nested' 'memcpy' 'memmove' 'memset' 'module_arch_freeing_init' 'native_restore_fl' 'native_save_fl' 'netdev_walk_all_lower_dev_rcu' 'notifier_hangup_irq' 'nsecs_to_jiffies' 'of_set_phy_eee_broken' 'param_set_hexint' 'param_set_ullong' 'pcibios_bus_add_device' 'phy_start_machine' 'pmdp_collapse_flush' '_raw_write_unlock' '_raw_write_unlock_bh' '_raw_write_unlock_irq' '_raw_write_unlock_irqrestore' 'rcu_barrier_tasks_trace' 'rcu_test_sync_prims' 'regmap_field_bulk_free' 'regset_xregset_fpregs_active' 'seq_hlist_next_rcu' 'set_anon_super_fc' 'simple_strtoll' 'sock_no_getname' 'sock_no_sendmsg_locked' 'sock_no_shutdown' 'synchronize_rcu_tasks' 'synchronize_rcu_tasks_rude' 'text_poke_kgdb' 'tty_driver_kref_put' 'watchdog_nmi_start' '__x64_sys_fadvise64' '__x64_sys_getegid16' '__x64_sys_geteuid16' '__x64_sys_getgid16' '__x64_sys_getuid16' '__x64_sys_inotify_init' '__x64_sys_io_pgetevents_time32' '__x64_sys_ipc' '__x64_sys_munlockall' '__x64_sys_old_msgctl' '__x64_sys_old_semctl' '__x64_sys_old_shmctl' '__x64_sys_pciconfig_iobase' '__x64_sys_pciconfig_read' '__x64_sys_pciconfig_write' '__x64_sys_ppoll_time32' '__x64_sys_pselect6_time32' '__x64_sys_rtas' '__x64_sys_s390_ipc' '__x64_sys_s390_pci_mmio_read' '__x64_sys_s390_pci_mmio_write' '__x64_sys_sgetmask' '__x64_sys_spu_create' '__x64_sys_spu_run' '__x64_sys_subpage_prot' '__x64_sys_uselib' '__x64_sys_vm86' '__x64_sys_vm86old' 'xen_has_pv_nic_devices'