Alex Xu

Results 91 comments of Alex Xu

llvm requires -Wl,--no-as-needed due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55394#c7, fixed in gcc 11. it causes `terminate called after throwing an instance of 'std::system_error' what(): Unknown error -1`.

but if they're unstripped and you're lucky you can find LTO function fragments.

1. install sys-devel/lld 2. set EXTRA_GN="thin_lto_enable_optimizations=true use_lld=true use_thin_lto=true" alternatively, simply: 1. set sys-devel/chromium USE=custom-cflags

OK, I finally built it successfully. this does work. note that it significantly increases CPU, RAM, and disk usage during build. it (very very approximately) doubles each of these.

I didn't use custom-cflags, I used the gn options. I assume this is better supported upstream.

that doesn't work because cargo has its own idea of whether lto is active. bashrc: ``` post_src_prepare() { if ! [[ -d ${CARGO_HOME} ]]; then local CARGO_HOME="$HOME/.cargo" mkdir ${CARGO_HOME} fi...

no. as I said, you must enable lto in both rustc *and* cargo, if cargo is in use.

it could probably use BashrcdPhase too, like `BashrcdPhase prepare set_cargo_lto` but this way works without bashrcd installed. note that it must run between cargo_src_unpack and cargo_src_compile for cargo.eclass ebuilds.

RUSTFLAGS is fragile as a system-wide config, since stacking is handled inconsistently by each package (usually overridden). Additionally, linker-plugin-lto requires clang LTO to be used; LLVM LTO is not compatible...

I added partial support for display descriptors and extension blocks: ``` meta: id: edid title: EDID (VESA Enhanced Extended Display Identification Data) xref: repo: https://github.com/kaitai-io/edid.ksy.git wikidata: Q1376385 license: CC0-1.0 endian:...