[tor-bugs] #31584 [Applications/Tor Browser]: Clean up mingw-w64 project
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Sep 17 08:38:04 UTC 2019
#31584: Clean up mingw-w64 project
-------------------------------------------------+-------------------------
Reporter: gk | Owner: tbb-
| team
Type: task | Status:
| needs_review
Priority: Medium | Milestone:
Component: Applications/Tor Browser | Version:
Severity: Normal | Resolution:
Keywords: tbb-rbm, ff68-esr, tbb-9.0-must- | Actual Points:
alpha, TorBrowserTeam201909R, |
GeorgKoppen201909 |
Parent ID: #30322 | Points: 1
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Changes (by gk):
* status: new => needs_review
* keywords:
tbb-rbm, ff68-esr, tbb-9.0-must-alpha, TorBrowserTeam201909,
GeorgKoppen201909
=>
tbb-rbm, ff68-esr, tbb-9.0-must-alpha, TorBrowserTeam201909R,
GeorgKoppen201909
Comment:
Okay, this took me way longer than expected. `bug_31584_v4`
(https://gitweb.torproject.org/user/gk/tor-browser-
build.git/commit/?h=bug_31584_v4&id=67a38dec8014e4ba33dc062527e74df2aca1f3db)
is the resulting patch (which is on top of the patches for #31538). For
posterity, the mentioned GCC crash when compiling 64-bit Rust is:
{{{
cargo:rustc-cfg=rdos
TARGET = Some("x86_64-pc-windows-gnu")
OPT_LEVEL = Some("2")
HOST = Some("x86_64-unknown-linux-gnu")
CC_x86_64-pc-windows-gnu = Some("x86_64-w64-mingw32-gcc")
CFLAGS_x86_64-pc-windows-gnu = Some("-ffunction-sections -fdata-sections
-m64")
running: "x86_64-w64-mingw32-gcc" "-O2" "-ffunction-sections" "-fdata-
sections" "-ffunction-sections" "-fdata-sections" "-m64" "-g" "-fno-omit-
frame-pointer" "-m64" "-I" "src/libbacktrace" "-I"
"/var/tmp/build/rustc-1.34.2-src/build/build/x86_64-unknown-linux-
gnu/stage2-std/x86_64-pc-windows-gnu/release/build/backtrace-sys-
38ec08965faeaf20/out" "-fvisibility=hidden" "-DBACKTRACE_SUPPORTED=1"
"-DBACKTRACE_USES_MALLOC=1" "-DBACKTRACE_SUPPORTS_THREADS=0"
"-DBACKTRACE_SUPPORTS_DATA=0" "-DHAVE_DL_ITERATE_PHDR=1" "-D_GNU_SOURCE=1"
"-D_LARGE_FILES=1" "-Dbacktrace_full=__rdos_backtrace_full"
"-Dbacktrace_dwarf_add=__rdos_backtrace_dwarf_add"
"-Dbacktrace_initialize=__rdos_backtrace_initialize"
"-Dbacktrace_pcinfo=__rdos_backtrace_pcinfo"
"-Dbacktrace_syminfo=__rdos_backtrace_syminfo"
"-Dbacktrace_get_view=__rdos_backtrace_get_view"
"-Dbacktrace_release_view=__rdos_backtrace_release_view"
"-Dbacktrace_alloc=__rdos_backtrace_alloc"
"-Dbacktrace_free=__rdos_backtrace_free"
"-Dbacktrace_vector_finish=__rdos_backtrace_vector_finish"
"-Dbacktrace_vector_grow=__rdos_backtrace_vector_grow"
"-Dbacktrace_vector_release=__rdos_backtrace_vector_release"
"-Dbacktrace_close=__rdos_backtrace_close"
"-Dbacktrace_open=__rdos_backtrace_open"
"-Dbacktrace_print=__rdos_backtrace_print"
"-Dbacktrace_simple=__rdos_backtrace_simple"
"-Dbacktrace_qsort=__rdos_backtrace_qsort"
"-Dbacktrace_create_state=__rdos_backtrace_create_state"
"-Dbacktrace_uncompress_zdebug=__rdos_backtrace_uncompress_zdebug" "-o"
"/var/tmp/build/rustc-1.34.2-src/build/build/x86_64-unknown-linux-
gnu/stage2-std/x86_64-pc-windows-gnu/release/build/backtrace-sys-
38ec08965faeaf20/out/src/libbacktrace/alloc.o" "-c"
"src/libbacktrace/alloc.c"
cargo:warning=during RTL pass: final
cargo:warning=src/libbacktrace/alloc.c: In function
'__rdos_backtrace_free':
cargo:warning=src/libbacktrace/alloc.c:75:1: internal compiler error: in
based_loc_descr, at dwarf2out.c:14318
cargo:warning= }
cargo:warning= ^
cargo:warning=0x7b1afa based_loc_descr
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:14313
cargo:warning=0x7e404f mem_loc_descriptor(rtx_def*, machine_mode,
machine_mode, var_init_status)
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:15861
cargo:warning=0x7e77e0 loc_descriptor
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:16603
cargo:warning=0x7e7d38 loc_descriptor
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:16631
cargo:warning=0x7e80cf dw_loc_list_1
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:16933
cargo:warning=0x7d1b2d dw_loc_list
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:17216
cargo:warning=0x7d1b2d loc_list_from_tree_1
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:18350
cargo:warning=0x7d3bda loc_list_from_tree
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:18957
cargo:warning=0x7d8358 add_location_or_const_value_attribute
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:20184
cargo:warning=0x7de49a gen_formal_parameter_die
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:22287
cargo:warning=0x7cfd72 gen_decl_die
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:26438
cargo:warning=0x7cd7bb gen_subprogram_die
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:23271
cargo:warning=0x7cfd28 gen_decl_die
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:26319
cargo:warning=0x7d0776 dwarf2out_decl
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:26884
cargo:warning=0x7ea1fe dwarf2out_function_decl
cargo:warning= ../gcc-8.3.0/gcc/dwarf2out.c:26899
cargo:warning=0x8376dd rest_of_handle_final
cargo:warning= ../gcc-8.3.0/gcc/final.c:4713
cargo:warning=0x8376dd execute
cargo:warning= ../gcc-8.3.0/gcc/final.c:4755
}}}
The pthread situation is a bit unfortunate. However, I think we can fix
that by moving the `tor` compilation (and it's dependencies) to
mingw-w64-clang. If we don't find a better solution than I have in my
patch then I'll file a ticket about that so we don't forget and make the
mingw-w64-clang transition blocking it.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/31584#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list