Liste des Groupes | Revenir à c arch |
antispam@fricas.org (Waldek Hebisch) writes:The blame goes to defining NULL as a pointer that is not pointing atAnton Ertl <anton@mips.complang.tuwien.ac.at> wrote:>If yes, a few years down the road your prospective customers have to>
decide whether to go for your newfangled architecture or one of the
established ones. They learn that a number of programs work
everywhere else, but not on your architecture. How many of them will
be placated by your reasoning that these programs are not strictly
confoming standard programs? How many will be alarmed by your
admission that you find it ok that you find it ok that such programs
don't work on your architecture? After all, hardly any program is a
strictly conforming standard program.
Such things happended many times in the past. AFAIK standard
setup on a VAX was that accessing data at address 0 gave you 0.
A lot of VAX programs needed fixes to run on different machines.
That case is interesting. It's certainly a benefit to programmers if
most uses of NULL produce a SIGSEGV, but for existing programs mapping
allowing to have accessible memory in page 0 is an advantage. So how
did we get from there to where we are now?
errno is an atrocity all by itself; single handedly preventingC 'errno' was made more abstract due
to multithreading, it broke some programs.
That's pretty similar to an ABI issue (not sure if errno is in theerrno is not ABI, errno is part of subroutine definitions within
ABIs or not).
Les messages affichés proviennent d'usenet.