This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Bi-arch multilib questions


Hello Jakub,

I'm trying to get s390x/s390 bi-arch support to work properly, but I'm
not sure I understand correctly how the various settings are supposed to
work together.  I've for now more or less copied the x86_64 t-linux64
file, and that results in multilibs being built that appear to work
correctly.  However, the install process seems somewhat weird.  As you
have implemented the SHLIB_SLIBDIR_SUFFIXES macro, maybe you could help
me understand this stuff ...

What I'm currently getting when configuring gcc with some --prefix
directory is the following layout for installed shared libraries:

  %{prefix}/lib/
  %{prefix}/lib/libgcc_s_so.1                      (31-bit library)
  %{prefix}/lib/libgcc_s_31.so -> libgcc_s.so.1
  %{prefix}/lib/libstdc++.so -> libstdc++.so.4.0.1
  %{prefix}/lib/libstdc++.so.4.0.1                 (64-bit library)
  %{prefix}/lib/31/
  %{prefix}/lib/31/libstdc++.so -> libstdc++.so.4.0.1
  %{prefix}/lib/31/libstdc++.so.4.0.1              (31-bit library)
  %{prefix}/lib64/
  %{prefix}/lib64/libgcc_s.so -> libgcc_s.so.1
  %{prefix}/lib64/libgcc_s.so.1                    (64-bit library)

(libstdc++ is representative for the locations of the other shared
libraries except libgcc_s.)

Now, I' wondering:

 - Why is libgcc_s handled so much differently from the other libraries?
   Specifically, why is the 31-bit version of libgcc_s placed into lib/,
   not lib/31/ like the others?  Should I have set SHLIB_SLIBDIR_SUFFIXES
   differently (but x86_64 does it that way, too)?
 - What is the point of libgcc_s_31.so?  Does anyone link against this
   (wouldn't this result in ABI-incompatible executables)?
   Why is there no libgcc_s.so symlink for the 31-bit library?

I guess all these could be shuffled around in the RPM spec file when
building gcc as a system compiler, but I'm trying to understand how
this is intended to work ...


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]