[tor-bugs] #20683 [Applications/Tor Browser]: Integrate selfrando into the alpha Linux 64bit builds

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Dec 1 13:39:56 UTC 2016


#20683: Integrate selfrando into the alpha Linux 64bit builds
-------------------------------------------------+-------------------------
 Reporter:  gk                                   |          Owner:  tbb-
                                                 |  team
     Type:  task                                 |         Status:  new
 Priority:  Medium                               |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  tbb-security, TorBrowserTeam201611,  |  Actual Points:
  GeorgKoppen201611                              |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by gk):

 Trying to compile selfrando for 32bit system crashes with
 {{{
 g++ -o sconsRelease/x86/gcc/LinuxSymproc/ObjectFileParser.o -c -std=c++11
 -include /home/debian/build/elfutils-0.160/libelf/elf.h -I
 /home/debian/install/elfutils/include -fno-reorder-functions -O2 -fno-
 omit-frame-pointer -g -Wl,-z,noexecstack -m32 -DRANDOLIB_ARCH=x86
 -DRANDOLIB_ARCH_SIZE=32 -DRANDOLIB_IS_X86=1
 -IsconsRelease/x86/gcc/LinuxSymproc -ILinuxSymproc
 LinuxSymproc/ObjectFileParser.cpp
 LinuxSymproc/ObjectFileParser.cpp: In member function 'void
 ExecFileParser::add_txtrp_section(const
 std::vector<ObjectFileParser::Section>&, const
 ObjectFileParser::NonExecutableRelocations&)':
 LinuxSymproc/ObjectFileParser.cpp:383:78: error: no matching function for
 call to 'max(long unsigned int&, ELFIO::Elf64_Addr)'
          p = std::max(p, segm->get_virtual_address() +
 segm->get_memory_size());
 ^
 In file included from
 /home/debian/install/gcc/include/c++/5.1.0/algorithm:61:0,
                  from LinuxSymproc/ObjectFileParser.cpp:9:
 /home/debian/install/gcc/include/c++/5.1.0/bits/stl_algobase.h:219:5:
 note: candidate: template<class _Tp> const _Tp& std::max(const _Tp&, const
 _Tp&)
      max(const _Tp& __a, const _Tp& __b)
      ^
 /home/debian/install/gcc/include/c++/5.1.0/bits/stl_algobase.h:219:5:
 note:   template argument deduction/substitution failed:
 LinuxSymproc/ObjectFileParser.cpp:383:78: note:   deduced conflicting
 types for parameter 'const _Tp' ('long unsigned int' and
 'ELFIO::Elf64_Addr {aka long long unsigned int}')
          p = std::max(p, segm->get_virtual_address() +
 segm->get_memory_size());
 }}}

 After talking to the selfrando devs it turns out the 32bit mode never
 really got finished properly. Thus we integrate it only for 64bit bundles
 for now. I've filed #20848 for the 32bit part.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20683#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list