- User Since
- Jan 31 2017, 4:46 PM (115 w, 1 d)
Wed, Apr 3
IMHO the library code should use #if !__has_feature(...) to avoid the definitions entirely when built with a sanitizer whose runtime provides them.
But this is a fine way to achieve that while we wait for those libraries to be fixed for sanitized builds.
Tue, Apr 2
Thu, Mar 28
Feb 16 2019
This is only on GCC trunk (i.e. 9), not in 8.2 or even the current gcc-8 branch. So clarify the log entry. We don't know if 8.x,x>2 will add it or only gcc 9.
Feb 14 2019
Feb 13 2019
I only really looked at the Fuchsia code.
Feb 9 2019
lgtm with a comment (and perhaps an assertion).
Jan 30 2019
Jan 25 2019
Should you add -nostdinc++ to the compilation flags to drive home that this code can't depend on any library headers?
Jan 20 2019
Jan 14 2019
Jan 5 2019
Jan 4 2019
lgtm. Wouldn't hurt to comment that this depends on a linker new enough to support the new reloc types (only reason it's conditional at all) and since we default to lld we don't worry about host system linkers that might be too old to support the new reloc types.
Dec 10 2018
Nov 15 2018
lgtm with a comment in the code
Nov 13 2018
Nov 10 2018
Nov 6 2018
Nov 5 2018
This breaks the semantics we want. The -Bdynamic is there to apply to -lm, which is also what --as-needed is there for in this case (it appears earlier because of the conditional logic, since in the other case it applies to -lc++ as well). It's correct as is.
Nov 3 2018
Nov 2 2018
So the default is not per-target? It should be.
Nov 1 2018
Oct 31 2018
Oct 30 2018
Oct 28 2018
I don't know what's affected by the presence of that declaration. Certainly it should be defined.
AFAICT this has nothing to do with solving the problem of the symbol not existing in the library.
That needs CMakeLists.txt:34 changed so it compiles cxa_thread_atexit.cpp for Fuchsia.
We also need to make sure that the cmake check for presence of __cxa_thread_atexit_impl in libc is passing correctly.
Oct 23 2018
Oct 19 2018
Oct 17 2018
Oct 3 2018
The motivating use case always pairs noderef with an address_space attribute, and it's already invalid to convert between pointer types in different address spaces without a cast.
So I don't think we have a strong opinion one way or the other. In the abstract, I'd say noderef feels like a "constraining" qualifier a la const/volatile so that going from unconstrained to constrained implicitly is OK but not vice versa.
Sep 28 2018
Sep 26 2018
Sep 23 2018
lgtm as long as we revert when the underlying bugs are resovled
Sep 19 2018
Sep 18 2018
Sep 17 2018
The test will need to verify that the emitted relocs are correct too.
Sep 16 2018
lgtm. Note that most sanitizer runtime ports for Fuchsia will be DSO-only, but I think the #ifndef PIC condition will cover that if/when those cases come up.
For always-static runtimes that can't be statically linked into DSOs (i.e. runtime library is not included in -shared links) this should now be right for Fuchsia.
IIRC profile is always-static but meant to be statically linked separately into each DSO, but presumably that means it's built with PIC defined too.
Sep 14 2018
Sep 11 2018
Sep 8 2018
Sep 4 2018
Sep 1 2018
The log message could give concrete examples.
Aug 26 2018
Aug 1 2018
I thought the plan was to produce JSON, not YAML.
Jul 27 2018
I think this wants to be a hard error rather than a warning. Though since we use -Werror anyway if others feel strongly contrary I won't object.
Jul 23 2018
Jul 14 2018
Is this still live? Should it be different after all the multiarch stuff?
LGTM with these few substantive nits and then a whole lot more comments (mostly a more thorough overview covering linkage and output model).
Jul 10 2018
Almost there, but some nits.
Jun 26 2018
Jun 18 2018
Jun 15 2018
Jun 11 2018
In response to Jake's comments about GNUStyle:
Jun 7 2018
Jun 5 2018
Jun 4 2018
Jun 1 2018
lgtm modulo unnecessary #include
May 30 2018
I don't have enough context on how the profiling runtime works to properly review this implementation strategy for Fuchsia. Perhaps adequate comments here would tell me enough. Certainly it needs a lot more comments.
But probably we just need to talk through the implementation plan in person first.
May 23 2018
May 22 2018
May 21 2018
May 9 2018
LGTM assuming the Fuchsia build still works (I don't see any problems in the source off hand).
@jakehehrlich will verify the Fuchsia Build.
May 4 2018
@jakehehrlich is working on an open-source tool at https://fuchsia.googlesource.com/tools that handles this output format as specified in https://fuchsia.googlesource.com/zircon/+/master/docs/symbolizer_markup.md
I'd prefer to keep all the markup string constants together. Moving them all to a header would be fine, but I think it should be a separate sanitizer_symbolizer_fuchsia.h so that non-Fuchsia builds aren't using symbolizer_fuchsia.h, which is about OS-specific stuff distinct from the symbolizer markup format. But nothing in this patch actually needs the constant to be visible outside sanitizer_symbolizer_fuchsia.cc, so I'd like to see some explanation of the need for that.
May 2 2018
lgtm with a comment
May 1 2018
Apr 27 2018
I don't know the backend or the register allocator at all but this looks like a thorough parallel of the existing model for -ffixed-x18.
Apr 25 2018
Apr 24 2018
Apr 19 2018
We should revisit the implicit dependency on fdio. For other compiler-rt libraries' Fuchsia ports, we've kept it at the pure vDSO and minimal libc ABIs.
Apr 11 2018
Mar 30 2018
Mar 27 2018
lgtm but I'm not authoritative.