[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