lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0900b672-57d2-4e4f-b5be-964da82c7a12@linaro.org>
Date: Tue, 10 Sep 2024 15:06:47 +0100
From: James Clark <james.clark@...aro.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
 "Steinar H. Gunderson" <sesse@...gle.com>
Cc: linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
 irogers@...gle.com, Arnaldo Carvalho de Melo <acme@...hat.com>,
 Namhyung Kim <namhyung@...nel.org>
Subject: Re: [PATCH v9 1/3] perf report: Support LLVM for addr2line()



On 9/3/24 15:15, Arnaldo Carvalho de Melo wrote:
> On Tue, Sep 03, 2024 at 11:01:36AM -0300, Arnaldo Carvalho de Melo wrote:
>> On Tue, Sep 03, 2024 at 07:09:47AM -0300, Arnaldo Carvalho de Melo wrote:
>>>     3: almalinux:9-i386WARNING: image platform (linux/386) does not match the expected platform (linux/amd64)
>>> WARNING: image platform (linux/386) does not match the expected platform (linux/amd64)
>>>      17.58 almalinux:9-i386              : FAIL gcc version 11.4.1 20231218 (Red Hat 11.4.1-3) (GCC)
>>>      util/llvm-c-helpers.cpp: In function ‘char* make_symbol_relative_string(dso*, const char*, u64, u64)’:
>>>      util/llvm-c-helpers.cpp:150:52: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘u64’ {aka ‘long long unsigned int’} [-Werror=format=]
>>>        150 |                 snprintf(buf, sizeof(buf), "%s+0x%lx",
>>>            |                                                  ~~^
>>>            |                                                    |
>>>            |                                                    long unsigned int
>>>            |                                                  %llx
>>>        151 |                          demangled ? demangled : sym_name, addr - base_addr);
>>>            |                                                            ~~~~~~~~~~~~~~~~
>>>            |                                                                 |
>>>            |                                                                 u64 {aka long long unsigned int}
>>>      cc1plus: all warnings being treated as errors
>>>      make[3]: *** [/git/perf-6.11.0-rc3/tools/build/Makefile.build:158: util] Error 2
>>
>> The one above is fixed by the patch at the end, that I already added to
>> the cset where the problem was being introduced.
>>
>> Now there is something a bit more tricky, we'll have to add a feature
>> check to see if the libllvm has what is needed if this appears in some
>> distro we still want to support, since alpine 3.16 has what is needed
>> I'll take the opportunity to drop test building on alpine 3.15.
> 
> Or, as I'll do with debian:11, just remove llvm-dev and not build the
> features it enables:
> 
>    17    13.79 debian:11                     : FAIL gcc version 10.2.1 20210110 (Debian 10.2.1-6)
>      util/llvm-c-helpers.cpp: In function 'char* llvm_name_for_code(dso*, const char*, u64)':
>      util/llvm-c-helpers.cpp:178:21: error: 'std::remove_reference_t<llvm::DILineInfo>' {aka 'struct llvm::DILineInfo'} has no member named 'StartAddress'
>        178 |   addr, res_or_err->StartAddress ? *res_or_err->StartAddress : 0);
>            |                     ^~~~~~~~~~~~
>      util/llvm-c-helpers.cpp:178:49: error: 'std::remove_reference_t<llvm::DILineInfo>' {aka 'struct llvm::DILineInfo'} has no member named 'StartAddress'
>        178 |   addr, res_or_err->StartAddress ? *res_or_err->StartAddress : 0);
>            |                                                 ^~~~~~~~~~~~
>      make[3]: *** [/git/perf-6.11.0-rc3/tools/build/Makefile.build:158: util] Error 2
> 

I also hit this issue. I think it makes sense to auto detect the version 
so I sent a patch. It was quite easy to autodetect and it might not be 
that obvious to others how to get the build working again given this error.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ