Skip to content
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

[cpuid] Update version to 0.7.0 and fix LNK2019 #42117

Open
wants to merge 23 commits into
base: master
Choose a base branch
from

Conversation

FrankXie05
Copy link
Contributor

Fix #41900
Update version to 0.7.0
Fix LNK2019:

cpuid_main.c.obj : error LNK2019: unresolved external symbol exec_cpuid referenced in function cpu_exec_cpuid
rdtsc.c.obj : error LNK2019: unresolved external symbol cpu_rdtsc referenced in function cpu_tsc_mark

rdtsc.c.obj : error LNK2019: unresolved external symbol busy_sse_loop referenced in function cpu_clock_by_ic

libcpuid\cpuid.dll : fatal error LNK1120: 3 unresolved externals
  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version.
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@FrankXie05 FrankXie05 added category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. labels Nov 12, 2024
@dg0yt
Copy link
Contributor

dg0yt commented Nov 12, 2024

And there is arm support for Linux now FreeBSD now.

@FrankXie05 FrankXie05 added the category:port-update The issue is with a library, which is requesting update new revision label Nov 12, 2024
@@ -4,7 +4,7 @@
"description": "Provides CPU identification for the x86 (and x86_64)",
"homepage": "https://github.com/anrieff/libcpuid",
"license": "MIT",
"supports": "(x86 | x64 | arm | linux) & !uwp",
"supports": "(x86 | x64 | arm) & linux & !uwp",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC it builds and install on all x86/x64/arm platforms. Only the capabilties vary.
uwp might be a different story.

Suggested change
"supports": "(x86 | x64 | arm) & linux & !uwp",
"supports": "(arm | x64 | x86) & !uwp",

@FrankXie05
Copy link
Contributor Author

Although the error is C1021, from the code logic, libcpuid does not support arm64-windows.

cpuid_main.c

#else
# warning This CPU architecture is not supported by libcpuid
	UNUSED(data);
libcpuid\cpuid_main.c(1455): fatal error C1021: invalid preprocessor command 'warning'

@dg0yt
Copy link
Contributor

dg0yt commented Nov 15, 2024

Again, it is expected to build for arm, but act as no-op for unsupported platforms. It is not marked as build-time #error but as #warning.
The remaining problem is that MSVC doesn't support #warning. (It uses #pragma warning.) Given that the warning will be buried in build logs of successuful builds, either remove the offending lines, or make an upstreamable patch which adds the MSVC syntax for MSVC.

@FrankXie05 FrankXie05 marked this pull request as ready for review November 18, 2024 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support category:port-update The issue is with a library, which is requesting update new revision info:internal This PR or Issue was filed by the vcpkg team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[cpuid] update to 0.7.0
3 participants