Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
threads_win: fix build error with VS2010 #24326
threads_win: fix build error with VS2010 #24326
Changes from all commits
d75c161
13c5dcd
e8580f1
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you need to run make update to get this in the exported ordinals list, its why CI is failing here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I was wondering what this error means.
That ancient piece of history Windows 2003 is using
nmake
to compile, so I ran the command on macOS instead. I see the two new functions were added toutil/libcrypto.num
. I hope that's good enough.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not quite. The CI test for symbol presence is failing, need to look at why.
also, if you're going to add new exported library symbols, the docs check is going to fail if you don't document them in the appropriate pod file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc/man3/CRYPTO_THREAD_run_once.pod
contains all related function, so I added the description there.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Building on Windows works only with
nmake
. I do haveGNU Make 4.4.1
, but both fail to perform theupdate
target. So my options are macOS 14.4.1 Intel, and Ubuntu 22.04.4 LTS.I also noticed that apart from
threads_win.c
, the atomic functions are also defined inthreads_pthread.c
andthreads_none.c
. Do I need to implement them there as well?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or maybe I need to add them to
./test/threadstest.c
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you do need to add the definitions to threads_pthread.c and threads_none.c, as only one of the three (win/pthreads/none) gets compiled for the build and you need a definition for the exported symbols
As for why make update isn't working. I expect its got something to do with the version of nmake on vs2010. Its worked for me on VS2022 community edition. note VS2010 isn't an officially supported platform
I'd focus on getting the implementations defined on other platforms first, then worry about being able to make the update script.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added definitions to
threads_pthread.c
andthreads_none.c
. Added tests tothreadstest.c
.