| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Commit 938212f added -msign-return-address=all to _all_ cflags but that is wrong when cross-compiling, it should only be added to the target's cflags. Fixes: nodejs#42888
|
Review requested:
|
Sorry, something went wrong.
|
I haven't finished building yet, but looks like I just get a whole lot of warnings that switch '-msign-return-address=all' is no longer supported |
Sorry, something went wrong.
|
FWIW V8 used to pass -mbranch-protection=standard (we also do it in v8_gypfiles/toolchain.gypi), but removed it in https://chromium-review.googlesource.com/c/v8/v8/+/3829068 (not sure why). |
Sorry, something went wrong.
You're on a newer version of gcc. We're currently using gcc 8 in the CI and to build the release binaries. gcc 9 introduced a replacement option, -mbranch-protection and deprecated the old one. |
Sorry, something went wrong.
|
I ran into other dependency issues when using gcc 8, which I could probably get around, but I'm working with docker containers and want to limit to a single gcc version installed if I can to keep the image size down. |
Sorry, something went wrong.
|
My gcc cross-compiler version is 11.3.0, so I tested with It builds and runs without any problems. However, I am concerned about the v8 upstream fix. |
Sorry, something went wrong.
|
It's part of Chromium's (and therefore V8's) push towards CFI (Control Flow Integrity.) The design doc is here if you're interested: https://docs.google.com/document/d/1O2jwK4dxI3nRcOJuPYkonhTkNQfbmwdvxQMyXgeaRHo/edit I'm going to guess they view arm64 branch protection as a special case that's been subsumed by the (more general and cross-platform) CFI work. |
Sorry, something went wrong.
Sorry, something went wrong.
based on suggested change from nodejs/node#45756
based on suggested change from nodejs/node#45756
based on suggested change from nodejs/node#45756
|
any news on this? |
Sorry, something went wrong.
based on suggested change from nodejs/node#45756
This fixes "msign-return-address=all" unrecognized by g++ for obj.host Basically copied from nodejs/node#45756
This fixes "msign-return-address=all" unrecognized by g++ for obj.host Basically copied from nodejs/node#45756
|
Ping @nodejs/build |
Sorry, something went wrong.
Sorry, something went wrong.
Sorry, something went wrong.
|
Resolved the obvious merge conflict but looks like a little more remedial work will be needed before this can be progressed. |
Sorry, something went wrong.
This fixes "msign-return-address=all" unrecognized by g++ for obj.host Basically copied from nodejs/node#45756
This fixes "msign-return-address=all" unrecognized by g++ for obj.host Basically copied from nodejs/node#45756
|
News on this? |
Sorry, something went wrong.
|
This seems to have been fixed in #51256 or am I misunderstanding? |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Commit 938212f added -msign-return-address=all to all cflags but that is wrong when cross-compiling, it should only be added to the target's cflags.
Fixes: #42888
cc @nxhack @josh-hemphill - can you confirm it works for you?