Date: Sun, 19 Jan 2020 15:24:01 +0100 From: Markus Wichmann <nullplan@....net> To: musl@...ts.openwall.com Subject: Re: Minor style patch to exit.c On Sun, Jan 19, 2020 at 04:33:47PM +0300, Alexander Cherepanov wrote: > Couldn't _start defined as an array? Then separate values could be accessed > simply as elements of this array. And casts to integers could be limited to > calculating the number of elements, the terminating value or something. > That reminds me of something I read in the C standard: Two pointers must compare equal if, among other possibilities, one is a pointer to one-past its underlying array, and the other is a pointer to the start of its array, and the arrays happen to lie behind one another in address space. Therefore, if _start and _end were arrays, even the GCC devs must agree that there might be an integer i such that _start + i == _end. For the C language, _start and _end would be arrays that happen to lie adjacent in address space. And if we have guarantees from the outside attesting to that, then _end - _start is no longer an undefined expression, right? Ciao, Markus
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.