|
Message-ID: <ZnuI08bfAEuhPu5F@voyager> Date: Wed, 26 Jun 2024 05:19:47 +0200 From: Markus Wichmann <nullplan@....net> To: musl@...ts.openwall.com Subject: Re: roundf() (and round(), and ...) Am Wed, Jun 26, 2024 at 01:49:09AM +0000 schrieb Thorsten Glaser: > Stories of compilers doing that abound… IIRC it was the compiler > recognising the implementation pattern of memcpy and replacing > that by a call to memcpy… in some libc’s that was not careful to > use -ffreestanding memcpy implementation. memcpy() is special, in that GCC reserves the right to create calls to it (and memmove(), memcmp(), and memset()) even in freestanding mode. It doesn't do that for any other builtin. Your only options are to write those functions in assembler, or write them in C and constantly curate the options needed to compile the functions so that no recursive calls happen. > 15:41⎜<Lo-lan-do:#fusionforge> Somebody write a testsuite for helloworld :-) $ ./hw > /dev/full && echo FAIL || echo PASS And you wouldn't believe how many implementations fail that. 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.