Re: Help compiling 4.3.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lee Rhodes wrote:

>   Your arguments are convincing.  Thanks.
> 
>   I didn't build with libgomp (openMP) or libmudflap (bounds checking for
> c), and I am wondering if I should have, but I am not sure of the
> consequences.
> 
> 1.  Does the absense of libmudflap prevent optional bounds checking in C++?
> 2.  Does the absense of libgomp prevent thread programming?
> 
> If I need to rebuild using these libraries, where do I get them?
> I couldn't find them in cygwin setup.

Those are both gcc target libraries, parts of the compiler.  You won't
find them anywhere in Cygwin's setup.exe because they did not exist in
gcc 3.x, and gcc 3.x binaries are the only officially supported version
at this time.

If they're not being built it's because they aren't configured.  Try
adding --enable-libgomp and --enable-libmudflap to your configure
invocation.  Note that libgomp requires proper setting of the thread
model, which for Cygwin is --enable-threads=posix.  I'm not sure if this
option is auto-detected correctly or not, so it wouldn't hurt to
explicitly give it.

Also note that the fact that they aren't automatically enabled on the
Cygwin target probably means that it's not entirely clear that they're
100% functional there.  However, enabling them and then running their
testsuites is a good way to find out.  The last time I ran the libgomp
4.3 testsuite on Cygwin I got 484 PASS and only 2 FAIL, so it looks like
it's pretty close.  I don't think I've run the libmudflap testsuite
before.  You can dig around the gcc-testresults archive to find other
examples.

To answer 1: Yes, you need a functioning libmudflap in order to use the
-fmudflap compiler option.

To answer 2: No, enabling OpenMP is not a prerequisite for writing
threaded programs.  You can still write plain old C/C++ code that uses
the pthreads API, this requires no special support from the compiler. 
What OpenMP gives you is the ability to tell the compiler to
automatically parallelize certain operations.  This is not entirely
automatic though, you need to compile with -fopenmp and the source code
needs explicit markup with "#pragma omp" directives, so this is only
useful if you have code that was explicitly written to use OpenMP; it is
not a general purpose thing.

Brian

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux