Tarmik wrote:
+ lots more undefined reference errors. I tried running the link step in
my build without the '-shared' option and I got the same set of errors.
Does '-shared' work in Cygwin gcc? Some random web page [1] suggests
that it does, but I thought I saw in 'man ld' that the correct option is
-Bdynamic.
You might also want to try running the link step with the -v option
(show the real command being run) or the -t option (show the files being
loaded by the linker.
I've tried hardvesting documentation on linking issues and especially
on
weak linking which apparently is being used in linux. I found several
references saying that cygwin does not support weak linking.
http://projects.cs.kent.ac.uk/projects/kroc/trac/changeset/4308
http://www.caam.rice.edu/caam/trs/2003/TR03-15.pdf
The latter document mentions that they got a lot of strange linker
errors that went away when they changed the .so extension in their
Makefiles to .dll. This will not solve the weak symbol issue but I think
it may fix some of the other problems you've seen. I wouldn't worry
about the weak symbol thing until you have the rest of it straightened out.
If the weak symbol thing is still a problem after you've fixed the other
errors, I think the fix is to create a patch for Treehydra so that under
Cygwin builds for C it does not try to use weak symbols, but just uses
the local Treehydra definition of global_namespace always.
I have several practical questions about gcc compilation -
1. how to make it faster ?
Apparently "make" will try to rebuild everything including standard
libraries,
meanwhile I'm intrested only in building gcc executables.
I don't know the exact answer to this question, but you may find some
guidance from http://gcc.gnu.org/install/build.html and the output of
./configure --help. You could probably get an answer pretty quickly on
the #gcc IRC channel on irc.oftc.net.
2. gcc.exe is not produced by default, after build I can see plenty of
other binaries
cc1.exe, cpp.exe, g++.exe, xgcc.exe, cc1plus.exe - but not gcc.exe.
gcc.exe is produced only after "make install" and even then I don't
see from which .exe files
it were copied from.
Surprising. It should be there somewhere, especially if g++ is, they're
the same kind of driver program.
Then some question related to dehydra.
Should we try to drop out weak linking approach and try somehow to
link it manually ?
See above.
CIL link which your document mentiones is one approach to source code
regeneration, however
new language always bit scares me. No matter how advanced it is.
CIL users like it a lot, but it is C only.
How many CIL users there are ? If over 1000 then I'll probably check
it through bit deeper.
:)
No idea, but you might get some idea of the user base from their mailing
list traffic:
http://sourceforge.net/mailarchive/forum.php?forum_name=cil-users
Dave
_______________________________________________
dev-static-analysis mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-static-analysis