Hi Brecht, Brecht Machiels wrote: > Hello, > > This is great news. However, I'm a bit concerned about the fact that > you only talk about GCC2 and GCC4. What if the GCC boys decide to > change name mangling again in, say 2 years from now? Will you add yet > another directory with copies of the libraries? The same applies for > other compilers. I have no problem with GCC, but I don't think it's a > good idea to limit developers to one compiler. It would indeed add another set of libraries, using this technique. > Perhaps we can come up with a more general solution to this problem? > It might take a larger effort, but it can probably save us a lot of > trouble in the future. Well, the point being that backwards compatibility is currently assumed to be a short-lived thing (e.g. GCC2 support), and as there's plenty to do to get to R1, I'm assuming everybody is more worried about getting the OS complete enough for that..... > I'm anything but an expert on compilers or OS design, but here's my > view. I suppose GCC uses a function to mangle C++ names. Is it > possible to have Haiku to do a 'translation' of mangled names between > compiler naming schemes (is as much information in a GCC2 executable > as there is in a GCC4 executable?)? An executable could include an > indication of which name mangling scheme is used. The loader can then > use this to translate the names. If the name mangling was the only problem, this would have been a neat idea. However, there's more changes then just the name mangling between GCC2/GCC4, which makes things (esp. C++ related) a lot more difficult :( > Now I'm sure there are plenty of holes in this reasoning which I'm not > aware of. But please do look at the larger picture. See the above, IIRC, there were changes in the runtime structures related to C++ (exceptions, RTTI, etc) as well, making this all pretty complex. > PS. I bumped into the following a couple of days ago: > http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/binary-formats.html. > I thought this might be useful. This is a really cool thing in BSD, agreed. We might even consider doing something simular in the future (would sure help stuff like ndiswrapper, I guess). I'm sure we'd accept patches already, if anybody feels inclined to do something similar ;) HTH, Ithamar. PS: Please note that this is all IMHO, not any kind of official statement.