-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[YSQL] Import 'pg_attribute_no_sanitize_alignment() macro' #7237
Comments
tedyu
added a commit
that referenced
this issue
Feb 20, 2021
Summary: Upstream commit was 993bdb9f935a751935a03c80d30857150ba2b645 The change in CMakeLists.txt is to avoid the following compilation warning: ``` /------------------------------------------------------------------------------- | COMPILATION FAILED |------------------------------------------------------------------------------- src/postgres/src/port/pg_crc32c_sse42.c:24:1: error: 'no_sanitize' attribute directive ignored [-Werror=attributes] { ^ cc1: all warnings being treated as errors Input files: build/debug-gcc-dynamic-ninja/postgres_build/src/port/pg_crc32c_sse42.c ``` Commit message was: ``` Modern gcc and clang compilers offer alignment sanitizers, which help to detect pointer misalignment. However, our codebase already contains x86-specific crc32 computation code, which uses unalignment access. Thankfully, those compilers also support the attribute, which disables alignment sanitizers at the function level. This commit adds pg_attribute_no_sanitize_alignment(), which wraps this attribute, and applies it to pg_comp_crc32c_sse42() function. Discussion: https://postgr.es/m/CAPpHfdsne3%3DT%3DfMNU45PtxdhSL_J2PjLTeS8rwKnJzUR4YNd4w%40mail.gmail.com Discussion: https://postgr.es/m/475514.1612745257%40sss.pgh.pa.us Author: Alexander Korotkov, revised by Tom Lane Reviewed-by: Tom Lane ``` Test Plan: Build Yugabyte DB and run test suite via Jenkins Reviewers: mbautin Reviewed By: mbautin Subscribers: yql Differential Revision: https://phabricator.dev.yugabyte.com/D10619
polarweasel
pushed a commit
to lizayugabyte/yugabyte-db
that referenced
this issue
Mar 9, 2021
…cro' Summary: Upstream commit was 993bdb9f935a751935a03c80d30857150ba2b645 The change in CMakeLists.txt is to avoid the following compilation warning: ``` /------------------------------------------------------------------------------- | COMPILATION FAILED |------------------------------------------------------------------------------- src/postgres/src/port/pg_crc32c_sse42.c:24:1: error: 'no_sanitize' attribute directive ignored [-Werror=attributes] { ^ cc1: all warnings being treated as errors Input files: build/debug-gcc-dynamic-ninja/postgres_build/src/port/pg_crc32c_sse42.c ``` Commit message was: ``` Modern gcc and clang compilers offer alignment sanitizers, which help to detect pointer misalignment. However, our codebase already contains x86-specific crc32 computation code, which uses unalignment access. Thankfully, those compilers also support the attribute, which disables alignment sanitizers at the function level. This commit adds pg_attribute_no_sanitize_alignment(), which wraps this attribute, and applies it to pg_comp_crc32c_sse42() function. Discussion: https://postgr.es/m/CAPpHfdsne3%3DT%3DfMNU45PtxdhSL_J2PjLTeS8rwKnJzUR4YNd4w%40mail.gmail.com Discussion: https://postgr.es/m/475514.1612745257%40sss.pgh.pa.us Author: Alexander Korotkov, revised by Tom Lane Reviewed-by: Tom Lane ``` Test Plan: Build Yugabyte DB and run test suite via Jenkins Reviewers: mbautin Reviewed By: mbautin Subscribers: yql Differential Revision: https://phabricator.dev.yugabyte.com/D10619
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Upstream commit was 993bdb9f935a751935a03c80d30857150ba2b645
The text was updated successfully, but these errors were encountered: