Source: crash
Version: 9.0.1-2
Severity: normal
Tags: ftbfs, forky, sid
User: [email protected]
Usertags: loong64
X-Debbugs-Cc: [email protected]
Dear maintainers,
There is a public error while rebuilding for loong64 in the Debian
Package Auto-Building environment.
I have tested and found the same error with gdb 17.1-1 on other
architectures, such as amd64.
The error log is as follows,
```
stack.c: In function ‘void backtrace_command_1(const
frame_print_options&, const backtrace_cmd_options&, const char*, int)’:
stack.c:2070:37: error: too many arguments to function
‘std::optional<long unsigned int> get_frame_pc_if_available(const
frame_info_ptr&)’
2070 | get_frame_pc_if_available (fi, &pc);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from value.h:23,
from top.h:25,
from stack.c:23:
frame.h:507:33: note: declared here
507 | extern std::optional<CORE_ADDR> get_frame_pc_if_available
| ^~~~~~~~~~~~~~~~~~~~~~~~~
CXX symfile.o
make[6]: *** [Makefile:2097: stack.o] Error 1
make[6]: *** Waiting for unfinished jobs....
```
Maintainers, please pay attention to the above phenomenon.
Or please generate a rootfs based on the latest archive state on another
architecture for testing.
Share my analysis progress:
When crash was built with dependency gdb-source 16.3-5, the build status
was normal.
When crash was built with dependency gdb-source 17.1-1, the build status
was failed,
- In gdb 17.1-1, the get_frame_pc_if_available() function only has one
parameter, e.g.
./gdb/frame.c:get_frame_pc_if_available (const frame_info_ptr &frame);
- In crash, the patches need to be modified based on gdb 17.1-1, e.g.
$ grep "get_frame_pc_if_available" -r .
./.pc/0002-Update-to-gdb-16.3.patch/gdb-16.2.patch:+
get_frame_pc_if_available (fi, &pc);
./gdb-16.3.patch:+ get_frame_pc_if_available (fi, &pc);
./debian/patches/0002-Update-to-gdb-16.3.patch:-+
get_frame_pc_if_available (fi, &pc);
./debian/patches/0002-Update-to-gdb-16.3.patch:++
get_frame_pc_if_available (fi, &pc);
Best regards,
Dandan Zhang