|
Message-ID: <20200831123647.GL3265@brightrain.aerifal.cx> Date: Mon, 31 Aug 2020 08:36:48 -0400 From: Rich Felker <dalias@...c.org> To: Alexander Monakov <amonakov@...ras.ru> Cc: musl@...ts.openwall.com, Theodore Dubois <tblodt@...oud.com> Subject: Re: i386 __set_thread_area will crash if the syscall fails On Mon, Aug 31, 2020 at 09:55:37AM +0300, Alexander Monakov wrote: > On Sun, 30 Aug 2020, Rich Felker wrote: > > > > Tangentially, I'm not sure why this file has so many hardcoded magic > > > numbers and no comments to explain what they are. > > > > Really it shouldn't even be external asm anymore. I'm trying to move > > as much external asm as possible to inline asm written in C, and this > > could be written entirely with __syscall() after #define > > SYSCALL_NO_TLS (recently added) and all the structures setup > > explicitly in C. I'll take a stab at doing that after fixing the bug. > > I also would like an answer to a question about utter lack of comments > that your response did not directly address. This is an issue in > specialized asm implementations of math functions too, for instance. It's just historically how it was done. In general I don't like comments that are just translation of the programming language to human language, which tends to be the case with asm comments, as opposed to ones that explain purpose, contract, subtle reasons something is done in a particular way that might not be obvious, etc. But I do think there's room for the latter kind of comments in files like this. For instance the saved entry number logic, that modify_ldt is used as fallback for kernels that aren't actually supported, how conversion of entry number to a segment register value works, etc. The same applies to math, and I agree it's frustrating reading that code with no comments. At the same time, a lot of the frustration is just the density and weird flow, not the actual math logic, so I think there's a lot more value in converting them to minimal inline asm where the flow is in C than in adding comments. Once someone has taken time to understand the asm enough to comment it, that's at least 90% of the way to actually doing the conversion. 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.