|
Message-ID: <20150429032242.GS17573@brightrain.aerifal.cx> Date: Tue, 28 Apr 2015 23:22:42 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: [PATCH] force LTO to be disabled when compiling dlstart.lo On Tue, Apr 28, 2015 at 10:23:37PM +0300, Alexander Monakov wrote: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57703 > > > > I have an interesting solution to this problem: get rid of the > > top-level asm and instead put it inside the function with 2 additional > > lines: > > > > - At the top, "jmp 9f" or equivalent. > > - At the bottom, "9:". > > > > Now the asm can't be separated from the function because it's part of > > it. Would that work? > > I think it would avoid the LTO partitioning issue, but it would also be a step > back in terms of solving their original problem, which was to avoid duplicates > of syscall entry sequence being potentially emitted. Syscall entry sequences? I don't follow. Even if you meant "ELF entry points" which sounds more plausible I'm still not sure how duplicates would be emitted. I guess the concern is that if it's in a function the asm block, even if it's volatile, could be emitted in more than one place (e.g. a ptr-is-aligned branch and a ptr-is-misaligned branch); it just has to execute the right number of times. So yes, if this is what you mean, then I agree my solution is problematic and probably best avoided. > As another GCC > discussion mentions, they started using toplevel asm there after they found > they couldn't instruct Clang not do duplicate that function, unlike they could, > with function attributes, tame GCC. Interesting. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.