[tor-bugs] #27460 [Core Tor/Tor]: Appveyor: --disable-gcc-hardening
Tor Bug Tracker & Wiki
blackhole at torproject.org
Fri Sep 7 04:00:11 UTC 2018
#27460: Appveyor: --disable-gcc-hardening
----------------------------------------------+----------------------------
Reporter: teor | Owner: teor
Type: defect | Status:
| needs_revision
Priority: Medium | Milestone: Tor:
| 0.3.4.x-final
Component: Core Tor/Tor | Version: Tor:
| 0.3.4.1-alpha
Severity: Normal | Resolution:
Keywords: 035-must, 034-must, 034-backport | Actual Points:
Parent ID: #27389 | Points:
Reviewer: | Sponsor:
----------------------------------------------+----------------------------
Comment (by teor):
Replying to [comment:3 nickm]:
>
> I think this solution is probably right for 0.3.4
Please see my branch bug27460-034 on https://github.com/teor2345/tor.git
The CI for 0.3.4 is here, but it will fail Appveyor until all the children
of #27389 are merged:
* https://ci.appveyor.com/project/teor2345/tor/build/1.0.161
* https://travis-ci.org/teor2345/tor/builds/425561775
The passing CI for all the #27389 fixes on 0.3.4 is here:
* https://ci.appveyor.com/project/teor2345/tor/build/1.0.156
* https://travis-ci.org/teor2345/tor/builds/425096670
> but maybe in 0.3.5 we should change the implementation of gcc-hardening
so that it does an AC_TRY_RUN() to see whether it can use these compiler
flags safely. That could be another ticket, though.
Arguably, this is a bug in autoconf: if the "checking size of" process
crashes, then configure should error, not continue with a size of 0. But
we're unlikely to get that fixed, because the documented behaviour is:
AC_CHECK_SIZEOF (type-or-expr, [unused], [includes =
‘AC_INCLUDES_DEFAULT’])
Define SIZEOF_type-or-expr (see Standard Symbols) to be the size in
bytes of type-or-expr, which may be either a type or an expression
returning a value that has a size. If the expression ‘sizeof (type-or-
expr)’ is invalid, the result is 0. ...
https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node
/Generic-Compiler-Characteristics.html
Which isn't precisely "The result is 0 if the program crashes.", but it's
close enough.
I opened #27530 for AC_TRY_RUN, and #27468 for checking the latest
versions of gcc and clang in our CI.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27460#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list