Re: proper configuring & installation ???

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

 



kevin diggs <diggskevin38@xxxxxxxxx> writes:

> /opt/GMP-4.3.2/lib
> /opt/MPFR-2.4.2/lib

If you build GMP and MPFR yourself, be sure to configure them with
--disable-shared.

> /opt/gcc-3.4.6/lib
> /opt/gcc-4.3.5/lib

If you build your own gcc in a non-standard location, and you build a
dynamic version of libstdc++ as is the default, then you need to tell
the dynamic linker where to find libstdc++ one way or another.  There is
unfortunately no good general solution to this.

> This caught me by surprise. I expected the compiler to deal with these
> internal parts on its own? I have no idea how to tell the firefox
> build system about the location of these internal compiler
> libraries???

You shouldn't have to tell firefox anything about them.  You do have to
tell the dynamic linker about them.


Your configure line looks fine to me.


> P.S.:  As a special bonus can anyone enlighten me on what cxa_atexit
> and secure-plt are? Should I enable them? How do I figure out if I can
> enable them???

The cxa_atexit function is used to correctly run the destructors of
global variables when a shared library is unloaded via dlclose.  If the
cxa_atexit function is not available, then g++ will register global
variable destructors using atexit.  The variable will then be destroyed
when the program calls exit rather than when the program calls dlclose.
This is wrong and may even fail if you are unlucky.  The gcc configure
script will normally determine the right value to use here.  However,
you should use --enable-cxa_atexit if you are building gcc itself with a
cross-compiler for a system which uses glibc.

The default PLT for PowerPC is both executable and writable.  These days
that is considered to be undesirable as it opens an avenue for buffer
overflows and similar attacks to build instruction sequences which can
then be executed.  The -msecure-plt option tells gcc to use a different
PLT strategy which does not require a writable PLT.  I think this
requires a sufficiently new dynamic linker.  The --enable-secureplt
configure option just makes -msecure-plt the default for gcc.

Ian


[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