Skip to content

Disable use of undefined DEF_WEAK macro in strptime.c#1058

Closed
berrange wants to merge 1 commit intointel:mainfrom
berrange:weak-sym-fix
Closed

Disable use of undefined DEF_WEAK macro in strptime.c#1058
berrange wants to merge 1 commit intointel:mainfrom
berrange:weak-sym-fix

Conversation

@berrange
Copy link
Copy Markdown
Contributor

@berrange berrange commented Oct 2, 2024

The strptime.c code invokes, what is presumably an undefined macro called, DEF_WEAK. The compiler can't resolve this to a function, so being traditional C, it invents a function taking arbitrary args and returning an int.

GCC 9.5.0 used in the reproducible build warns about this problem but sdk/Makefile.source is throwing stderr from the tlibc build by sending it all to /dev/null, so the warning is never seen.

New GCC 14 has turned this warning into a fatal error, such that this bug breaks the build outside of the NixOS envirnoment.

The other use of DEF_WEAK in tlibc/time/localtime.c was surrounded by '#if 0', so do the same in strptime.c

The strptime.c code invokes, what is presumably an undefined macro
called, DEF_WEAK. The compiler can't resolve this to a function, so
being traditional C, it invents a function taking arbitrary args and
returning an int.

GCC 9.5.0 used in the reproducible build warns about this problem
but sdk/Makefile.source is throwing stderr from the tlibc build
by sending it all to /dev/null, so the warning is never seen.

  time/strptime.c:92:1: warning: data definition has no type or storage class
     92 | DEF_WEAK(strptime);
        | ^~~~~~~~
  time/strptime.c:92:1: warning: type defaults to 'int' in declaration of 'DEF_WEAK' [-Wimplicit-int]
  time/strptime.c:92:1: warning: parameter names (without types) in function declaration

New GCC 14 has turned this warning into a fatal error, such that
this bug breaks the build outside of the NixOS envirnoment.

The other use of DEF_WEAK in tlibc/time/localtime.c was surrounded
by '#if 0', so do the same in strptime.c

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
@pdy
Copy link
Copy Markdown

pdy commented Apr 6, 2025

Issue I found to be closed if PR will be accepted #1066

@bgotowal
Copy link
Copy Markdown
Contributor

Thank you for the contribution! I'd like to let you know that the issue was resolved by removing the problematic DEF_WEAK in 8e9ed53. Apologies for not getting back to this PR earlier. Can be closed.

@berrange berrange closed this Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants