Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #19079

Closed (moved)
(moved)
Open
Created May 18, 2016 by Nick Mathewson@nickm🍬

clang -m32 -ftrapv seems buggy with 64-bit signed integer multiply

If you try building with clang -m32 -ftrapv, you get a bunch of these warnings:

12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:828: undefined reference to `__mulodi4'
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:828: undefined reference to `__mulodi4'
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:855: undefined reference to `__mulodi4'
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:930: undefined reference to `__mulodi4'
12:39:59 /home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:930: undefined reference to `__mulodi4'
12:39:59 src/or/libtor-testing.a(src_or_libtor_testing_a-dirvote.o):/home/jenkins/workspace/tor-ci-linux-master-clang/ARCHITECTURE/i386/SUITE/sid/src/or/dirvote.c:834: more undefined references to `__mulodi4' follow

Since -ftrapv is now on by default, that's a problem!

Others have seen errors like this before; for example see: https://bugs.chromium.org/p/chromium/issues/detail?id=503229 and https://llvm.org/bugs/show_bug.cgi?id=14469

I'm calling this must-fix-for-029, since otherwise we just broke 32-bit clang.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking