-
-
Notifications
You must be signed in to change notification settings - Fork 32.1k
bpo-40052: Fix alignment issue in PyVectorcall_Function() #23999
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
Conversation
In file included from /usr/include/python3.8/Python.h:147: In file included from /usr/include/python3.8/abstract.h:837: /usr/include/python3.8/cpython/abstract.h:91:11: error: cast from 'char *' to 'vectorcallfunc *' (aka 'struct _object *(**)(struct _object *, struct _object *const *, unsigned long, struct _object *)') increases required alignment from 1 to 8 [-Werror,-Wcast-align] ptr = (vectorcallfunc*)(((char *)callable) + offset); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. Co-Authored-By: Andreas Schneider <[email protected]> Co-Authored-By: Antoine Pitrou <[email protected]>
This supersedes (and is based on) #19133 |
@vstinner Is it ok with you? |
LGTM. memcpy() is a safe solution to solve alignment issues ;-) Note: PR #19133 looks wrong to me. |
Thanks @encukou for the PR 🌮🎉.. I'm working now to backport this PR to: 3.8, 3.9. |
…3999) ``` In file included from /usr/include/python3.8/Python.h:147: In file included from /usr/include/python3.8/abstract.h:837: /usr/include/python3.8/cpython/abstract.h:91:11: error: cast from 'char *' to 'vectorcallfunc *' (aka 'struct _object *(**)(struct _object *, struct _object *const *, unsigned long, struct _object *)') increases required alignment from 1 to 8 [-Werror,-Wcast-align] ptr = (vectorcallfunc*)(((char *)callable) + offset); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ``` Co-Authored-By: Andreas Schneider <[email protected]> Co-Authored-By: Antoine Pitrou <[email protected]> (cherry picked from commit 056c082) Co-authored-by: Petr Viktorin <[email protected]>
GH-24005 is a backport of this pull request to the 3.9 branch. |
Sorry, @encukou, I could not cleanly backport this to |
…3999) (GH-24005) ``` In file included from /usr/include/python3.8/Python.h:147: In file included from /usr/include/python3.8/abstract.h:837: /usr/include/python3.8/cpython/abstract.h:91:11: error: cast from 'char *' to 'vectorcallfunc *' (aka 'struct _object *(**)(struct _object *, struct _object *const *, unsigned long, struct _object *)') increases required alignment from 1 to 8 [-Werror,-Wcast-align] ptr = (vectorcallfunc*)(((char *)callable) + offset); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ``` Co-authored-by: Petr Viktorin <[email protected]> Co-Authored-By: Andreas Schneider <[email protected]> Co-Authored-By: Antoine Pitrou <[email protected]> (cherry picked from commit 056c082)
…onGH-23999) ``` In file included from /usr/include/python3.8/Python.h:147: In file included from /usr/include/python3.8/abstract.h:837: /usr/include/python3.8/cpython/abstract.h:91:11: error: cast from 'char *' to 'vectorcallfunc *' (aka 'struct _object *(**)(struct _object *, struct _object *const *, unsigned long, struct _object *)') increases required alignment from 1 to 8 [-Werror,-Wcast-align] ptr = (vectorcallfunc*)(((char *)callable) + offset); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ``` Co-Authored-By: Andreas Schneider <[email protected]> Co-Authored-By: Antoine Pitrou <[email protected]>. (cherry picked from commit 056c082) Co-authored-by: Petr Viktorin <[email protected]>
GH-24120 is a backport of this pull request to the 3.8 branch. |
…3999) (GH-24120) Co-Authored-By: Andreas Schneider <[email protected]> Co-Authored-By: Antoine Pitrou <[email protected]>. Co-authored-by: Petr Viktorin <[email protected]> (cherry picked from commit 056c082) https://bugs.python.org/issue40052
…3999) ``` In file included from /usr/include/python3.8/Python.h:147: In file included from /usr/include/python3.8/abstract.h:837: /usr/include/python3.8/cpython/abstract.h:91:11: error: cast from 'char *' to 'vectorcallfunc *' (aka 'struct _object *(**)(struct _object *, struct _object *const *, unsigned long, struct _object *)') increases required alignment from 1 to 8 [-Werror,-Wcast-align] ptr = (vectorcallfunc*)(((char *)callable) + offset); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ``` Co-Authored-By: Andreas Schneider <[email protected]> Co-Authored-By: Antoine Pitrou <[email protected]>
Co-Authored-By: Andreas Schneider [email protected]
Co-Authored-By: Antoine Pitrou [email protected]
https://bugs.python.org/issue40052
Automerge-Triggered-By: GH:pitrou