It's not practical for the C89 restriction to be maintained for
compilers, but it is still desirable for most tools. The "long long"
data type is in wide use despite not being in C89. C99 library features
(as opposed to language features) can often be added to the compat
framework when the need becomes apparent.
From Alan Modra: Wed, 3 Jul 2013 11:51:56 +0930: powerpc64 call stubs:
This brings powerpc64 ld in line with gold regarding calls allowed to
go via a plt call stub or toc-adjusting stub without a following nop.
A long time ago ld allowed tail calls, but this is wrong because we'll
return to the caller's caller with the wrong toc pointer. I fixed
that for shared libraries but allowed tail calls in an executable for
some reason. Probably just muddy thinking on my part, because there's
no difference between an executable and a shared library regarding the
need to restore the toc pointer. Perhaps it was because some testcase
failed, most likely due to the g++ issue I comment on in the patch.
From Alan Modra: 29 Aug 2014 01:22:29 +0000: PowerPC64 call lacks nop error:
Enough people accidentally or otherwise use -mcmodel=small then wonder
why a call that is local is behaving as if it is going via the PLT.
* elf64-ppc.c (ppc64_elf_relocate_section): Report a different
error for calls via a toc adjusting stub without a nop.
md_post_disklabel() and md_pre_update(), abstract them out to an MI
set_swap_if_low_ram() and call from the appropriate MI places.
Now all platforms add swap if the system has <= 32M of RAM.
altq Drop Type
disklabel Disk Type
file Descriptor Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.