Closed Bug 143887 Opened 23 years ago Closed 23 years ago

Document what @status FROZEN means wrt compiler ABI

Categories

(Core Graveyard :: Embedding: APIs, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: bbaetz, Assigned: alecf)

References

()

Details

I can't seem to find any docs on what freezing an interface means. There are docs to show how to do the freezing, but not what freezing actually means. One thing that I discussed briefly with dougt on IRC was that even though we've frozen all these C++ interfaces, when the compiler ABI changes (like when mozilla.org/Netscape finally upgrade the compiler for builds so that we can get the 7% speed improvment) binary plugins won't work. The IRC comments were: <shaverDinner> sure <shaverDinner> we've never suggested otherwise <dougt_> what can you do bbaetz? This doesn't appear to be documented anywhere, though. It would probably be a good idea to do so before 1.0.
when the compiler changes, this may or may not break binary compatiblity. This is not something special to xpcom components or plugins, everything on the system is going to be effected. After reading a bit about the compiler abt, a built component which implements @frozen interfaces/functions is going to have problems. Why does mozilla have to document this fact? What am I missing?
Because @FROZEN may be taken as having the implication that if a component it works with moz1.0, it will work with moz1.1. If the Official Builds of mozilla (and, more importantly for this bug, Netscape/other binary only distributers) change compilers, then that won't be true any more. My motivation is to make sure that this issue isn't brought up by anyone when we do decided to get our 'free' 7% perf increase on unix.
Do all platforms have such a thing as a binary standard for APIs? If it's a matter of setting a few switches in the config, then we should do it if we don't already.
Blocks: 143771
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
come on, lets not make this difficult for developers - lets get this on www.mozilla.org, in the embedding documentation... "document" does not mean "tell a subset of possible mozilla developers"
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
i forwarded the mail to the build, embedding, and seamonkey newsgroups. If you want to do more, feel free.
Assignee: dougt → adamlock
Status: REOPENED → NEW
wow, that kind of attitude towards our developers is thoroughly disappointing. I really don't understand the resistance here. We all have got better things to do, etc, sure.. but it doesn't matter how good our embedding story is if we don't provide documentation for our developers. Microsoft caters to their developers, I guess we don't give a damn. I'll do this myself.
Assignee: adamlock → alecf
what attitude, alec? I posted an announcement to various newsgroups. I moved this bug to the embedding component so someone could update their documention if they wanted - as *you* asked. Please keep in mind that posting is totally apparent if anyone thought about what an compiler abi is. Furthermore, this is a shot in the dark as I have no idea if anyone is really thinking about updating the linux compiler.
ok, the posting is now at http://www.mozilla.org/projects/xpcom/binary-compatibility.html and is linked from the xpcom page, the embedding page, and the embedding FAQ. (it may take an hour or two to show up there)
Status: NEW → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
vrfy documented on www.mozilla.org
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.