This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 03/12] Mark all machinery needed in early static-link init as -fno-stack-protector.


On 12/15/2016 03:21 PM, Nick Alcock wrote:
On 15 Dec 2016, Florian Weimer outgrape:

On 11/28/2016 01:32 PM, Nix wrote:
diff --git a/csu/Makefile b/csu/Makefile
index 31e8bb9..22afe67 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -45,6 +45,11 @@ before-compile += $(objpfx)version-info.h
 tests := tst-empty tst-atomic tst-atomic-long
 tests-static := tst-empty

+CFLAGS-.o += $(no-stack-protector)

This also applies to the tests in the csu subdirectory, which is probably not what we want.

Definitely not!

We have two options here: List the .c source files explicitly (like you do in string/), or move the test to a different subdirectory
(perhaps misc/ or stdlib/).  In the second case, there should be an empty “tests” variable assignment in csu/Makefile which
documents why there can't be any tests in this subdirectory.

Listing explicitly seems likely to be horrifically hard to maintain. I'm
not even sure how many .o's there *are* that this would apply to.

I think you added some magic to rtld CFLAGS to get this working without eval.

Is there really no way to say 'add these flags to all the tests' so we
can add a $(stack-protector) to that?

Even if we have that, it's very subtle because it would depend on the relative order of the expansion points (last flag wins).

So maybe moving the tests is the best option here.

Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]