This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib 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: libgloss/arm/libcfunc.c: alarm [PATCH]


Hi Shaun,

This matters because the current implementation of _exit() ignores its
argument and always performs a SWI with ADP_StoppedApplicationExit, so
the user (or simulator) will never know that an abort has occurred.

I didn't notice that the RDI implementation behaves differently than
the RDP implementation of _exit, which does pass its argument on to
the swi.  In the RDP case, calling _exit explicitly makes it more
apparent that abort is implemented in terms of _exit.

OK - well could you fix up the RDI case then please ?


+ return errno = ENOSYS, -1;

Ugg!  There is no need for clever coding here.  Use two statements not a
comma, it is much clearer that way.  (There are several places where
this applies).

I think of setting errno and returning -1 as a single conceptual
operation, which is why I like the look of the above idiom, but fair
enough.

Well I guess we could argue about the exact significance of errno and return values but it just felt wrong to me. Thanks for agreeing to change this.


+ (void)sig;

"(void)sig" ? What on earth ?

Casting to (void) is legal C and is a common idiom [1] to explicitly
point out that the coder does not intend to use the value of any
particular expression, not just an unused identifier.

Well my bad. I did not know this. Thanks very much for pointing it out.


One thing though - since we are already using __attribute__((weak)) why not also use __attribute__((unused)) ? (Or the ATTRIBUTE_UNUSED macro from ansidecl.h). I am in two minds about whether this would be a good idea though. On the one hand this macro is used in lots of other places in other projects (gcc, binutils) but on the other hand it is less portable and makes the source code bulkier. (Although it would reduce the number of lines). I guess that there really is no good reason to change over to using it, so please ignore this whole ramble. :)

Cheers
  Nick





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