Re: [PATCH dwarves v3 0/3] permit merging all dwarf cu's for clang lto built binary

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Tue, Mar 30, 2021 at 12:10:10PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Mar 29, 2021 at 02:40:05PM -0300, Arnaldo Carvalho de Melo escreveu:
> > [acme@five pahole]$ ulimit -c 10000000
> > [acme@five pahole]$
> > [acme@five pahole]$ file tcp_bbr.o
> > tcp_bbr.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), with debug_info, not stripped
> > [acme@five pahole]$ readelf -wi tcp_bbr.o | grep DW_AT_producer
> >     <d>   DW_AT_producer    : (indirect string, offset: 0x4a97): GNU C89 10.2.1 20200723 (Red Hat 10.2.1-1) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -mindirect-branch=thunk-extern -mindirect-branch-register -mrecord-mcount -mfentry -march=x86-64 -g -O2 -std=gnu90 -p -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -falign-jumps=1 -falign-loops=1 -fno-asynchronous-unwind-tables -fno-jump-tables -fno-delete-null-pointer-checks -fno-allow-store-data-races -fstack-protector-strong -fno-var-tracking-assignments -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fstack-check=no -fconserve-stack -fcf-protection=none
> > [acme@five pahole]$ fullcircle tcp_bbr.o
> > /home/acme/bin/fullcircle: line 38: 3969006 Segmentation fault      (core dumped) ${pfunct_bin} --compile $file > $c_output
> > /tmp/fullcircle.4XujnI.c:1435:2: error: unterminated comment
> >  1435 |  /* si
> >       |  ^
> > /tmp/fullcircle.4XujnI.c:1433:2: error: expected specifier-qualifier-list at end of input
> >  1433 |  u32 *                      saved_syn;            /*  2184     8 */
> >       |  ^~~
> > codiff: couldn't load debugging info from /tmp/fullcircle.ZOVXGv.o
> > /home/acme/bin/fullcircle: line 40: 3969019 Segmentation fault      (core dumped) ${codiff_bin} -q -s $file $o_output
> > [acme@five pahole]$
> > 
> > Both seem unrelated to what you've done here, I'm investigating it now.
> 
> The fullcircle one, that crashes at the 'codiff' utility is related to
> the patch that makes dwarf_cu to allocate space for the hash tables, as
> you introduced a destructor for the dwarf_cu hashtables and the dwarf_cu
> that was assigned to cu->priv was a local variable, which wasn't much of
> a problem because we were not freeing it, as it went away at each loop
> iteration, the following patch to that first patch in the series seems
> to cure it, I'm folding it into your patch + a commiter note.

[acme@five pahole]$ codiff tcp_bbr.o /tmp/fullcircle.ceBLyj.o
/home/acme/git/linux/net/ipv4/tcp_bbr.c:
  bbr_unregister                    |   -6
  __compiletime_assert_691          |   +0
  bbr_register                      |  -11
  bbr_ssthresh                      |  -76
  bbr_undo_cwnd                     | -101
  bbr_sndbuf_expand                 |  -11
  bbr_init                          | -385
  bbr_main                          | -2640
  bbr_lt_bw_sampling                | -803
  bbr_packets_in_net_at_edt         | -212
  bbr_inflight                      | -172
  __compiletime_assert_655          |   +0
  bbr_set_pacing_rate               | -182
  kcsan_check_access                |   +6
  kasan_check_write                 |  +14
  tcp_unregister_congestion_control |   +0
  tcp_register_congestion_control   |   +0
  minmax_running_max                |   +0
  prandom_u32                       |   +0
  __warn_printk                     |   +0
  __stack_chk_fail                  |   +0
 21 functions changed, 20 bytes added, 4599 bytes removed, diff: -4579
[acme@five pahole]$
[acme@five pahole]$
[acme@five pahole]$ fullcircle tcp_bbr.o
[acme@five pahole]$

This one is dealt with, doing some more tests and looking at that
array[] versus array[0].

- Arnaldo



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux