https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124565
Bug ID: 124565
Summary: va_list type should not have internal linkage
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
Blocks: 124268
Target Milestone: ---
Target: alpha-linux-gnu
In https://gcc.gnu.org/pipermail/gcc-patches/2026-March/710839.html Joseph
reported that my r16-8118-gc362a260ca203207309cf77a3928854cabf2ac01 for Bug
124268 broke alpha-linux-gnu and sh4-linux-gnu, which seems to be a problem in
how the target defines va_list:
My build-many-glibcs.py bot is also showing a similar error for
alpha-linux-gnu and sh4-linux-gnu. The error in those cases is of the
form:
std.cc:4126:14: error: exporting 'typedef __gnuc_va_list va_list' that does not
have external linkage
4126 | using std::va_list;
| ^~~~~~~
<built-in>: note: 'typedef struct __va_list_tag __va_list_tag' declared here
with internal linkage
https://sourceware.org/pipermail/libc-testresults/2026q1/014489.html
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124268
[Bug 124268] `import std` initializer symbol is not shipped in `libstdc++`