33e0d5f874
The use of isatty(0) to switch into pretty printing is problematic as reported by Bernd Buschinski, that ran into problems with his scripts: ======================================================================== I am using pahole 1.21 and I recently noticed that I no longer have any pahole output in several scripts. Using (on the command line): $ pahole -V -E -C my_struct /path/to/my/debug.o works fine and gives the expected output. But: $ parallel -j 1 pahole -V -E -C my_struct ::: /path/to/my/debug.o gives nothing, no stderr, no stdout and ret code 0. After testing some versions, it works fine in 1.17 and no longer works in 1.18. ======================================================================== Since the pretty printer broke existing scripts, and its a relatively new feature, lets switch to using a explicit command line option to activate the pretty printer, i.e. where we used: $ pahole --header elf64_hdr < /bin/bash We now use one of: ⬢[acme@toolbox pahole]$ pahole --header elf64_hdr --prettify=/bin/bash { .e_ident = { 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, .e_type = 3, .e_machine = 62, .e_version = 1, .e_entry = 204016, .e_phoff = 64, .e_shoff = 1388096, .e_flags = 0, .e_ehsize = 64, .e_phentsize = 56, .e_phnum = 13, .e_shentsize = 64, .e_shnum = 31, .e_shstrndx = 30, }, ⬢[acme@toolbox pahole]$ pahole --header elf64_hdr --prettify /bin/bash { .e_ident = { 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, .e_type = 3, .e_machine = 62, .e_version = 1, .e_entry = 204016, .e_phoff = 64, .e_shoff = 1388096, .e_flags = 0, .e_ehsize = 64, .e_phentsize = 56, .e_phnum = 13, .e_shentsize = 64, .e_shnum = 31, .e_shstrndx = 30, }, ⬢[acme@toolbox pahole]$ pahole --header elf64_hdr --prettify - < /bin/bash { .e_ident = { 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, .e_type = 3, .e_machine = 62, .e_version = 1, .e_entry = 204016, .e_phoff = 64, .e_shoff = 1388096, .e_flags = 0, .e_ehsize = 64, .e_phentsize = 56, .e_phnum = 13, .e_shentsize = 64, .e_shnum = 31, .e_shstrndx = 30, }, ⬢[acme@toolbox pahole]$ pahole --header elf64_hdr --prettify=- < /bin/bash { .e_ident = { 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, .e_type = 3, .e_machine = 62, .e_version = 1, .e_entry = 204016, .e_phoff = 64, .e_shoff = 1388096, .e_flags = 0, .e_ehsize = 64, .e_phentsize = 56, .e_phnum = 13, .e_shentsize = 64, .e_shnum = 31, .e_shstrndx = 30, }, ⬢[acme@toolbox pahole]$ Reported-by: Bernd Buschinski <b.buschinski@googlemail.com> Report-Link: https://lore.kernel.org/dwarves/CACN-hLVoz2tWrtgDLabOv6S1-H_8RD2fh8SV6EnADF1ikMxrmw@mail.gmail.com/ Tested-by-by: Bernd Buschinski <b.buschinski@googlemail.com> Test-Link: https://lore.kernel.org/dwarves/CACN-hLXgHWdBkyMz+w58qX8DaV+WJ1mj1qheGBHbPv4fqozi5w@mail.gmail.com/ Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
||
---|---|---|
.. | ||
pahole.1 |