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

scripts: process_gperf: upgrade the asso_values type to unsigned short #82090

Merged
merged 2 commits into from
Nov 27, 2024

Conversation

tagunil
Copy link
Collaborator

@tagunil tagunil commented Nov 26, 2024

The gperf tool automatically selects the optimal data type for the asso_value table, depending on the MAX_HASH_VALUE. However, there is a corner case when the tables generated on different stages of the build process have different data types, causing a link-time error. Upgrade the data type for the table from unsigned char to unsigned short to at least exclude this 8-bit to 16-bit transition. There is another potential issue with the 16-bit to 32-bit transition, but it seems not very likely to have 65k kernel objects anytime soon.

Fixes: #82059

@cfriedt cfriedt added the Hotfix Fix for issues blocking development, i.e. CI issues, tests failing in CI, etc. label Nov 27, 2024
cfriedt
cfriedt previously approved these changes Nov 27, 2024
@cfriedt
Copy link
Member

cfriedt commented Nov 27, 2024

@ycsin - can you verify that this fixes the issue? I'm heading off to sleep

@cfriedt
Copy link
Member

cfriedt commented Nov 27, 2024

@tagunil - can you possibly rebase and readjust testcase.yml for the suite that was failing?

The gperf tool automatically selects the optimal data type for the
asso_values table, depending on MAX_HASH_VALUE. However, there is
a corner case when the tables generated on different stages of the
build process have different data types, causing a link-time error.
Upgrade the data type for the table from unsigned char to unsigned
short to at least exclude this 8-bit to 16-bit transition. There is
another potential issue with the 16-bit to 32-bit transition, but
it seems not very likely to have 65k kernel objects anytime soon.

Signed-off-by: Ilya Tagunov <[email protected]>
…_em"

This reverts commit f415724.
This is fine, as the underlying issue is solved.

Signed-off-by: Ilya Tagunov <[email protected]>
@cfriedt cfriedt added the area: ARC ARC Architecture label Nov 27, 2024
@nashif nashif merged commit b3a943d into zephyrproject-rtos:main Nov 27, 2024
34 of 35 checks passed
@tagunil tagunil deleted the upgrade_gperf_table branch November 27, 2024 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: ARC ARC Architecture area: Build System area: POSIX POSIX API Library area: Userspace Userspace Hotfix Fix for issues blocking development, i.e. CI issues, tests failing in CI, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

tests: posix: common: userspace: qemu_arc_em triggers assertion in linker script
5 participants