Theodore Ts'o wrote:
> On Mon, Sep 19, 2005 at 02:14:05PM +0200, Thiemo Seufer wrote:
> > Package: e2fsprogs
> > Version: 1.38-2
> > Tags: patch
> >
> > Hello,
> > 
> > the appended patch adds support for building an additional 64bit version
> > of libext2fs-nopic.a. The unstable toolchain supports everything needed
> > for it, except stripping the final library (strip fails to recognize the
> > file as valid, even in its binutils-multiarch incarnation). I disabled
> > stripping for now as a workaround. The patch makes also the use of
> > "install" more regular.
> 
> I didn't put the 32-bit MIPS special case code in debian/rules, so I
> hope you don't mind if I ask a few stupid questions....
> 
> 1) What in the world are -nopic.a libraries?  What are they used for?

Libraries which use position dependent code (which is faster and less
complicated to handle if the load address of the program is known).

> PIC libraries for shared libraries I can understand, but generally
> static (.a) libraries are nopic by default, since there's no good
> reason for them to be PIC.

All mips/mipsel userland code is PIC. Other code models aren't defined
in the ABI, and the performance loss of PIC isn't that big because one
of the 32 GPRs is reserved as global pointer. Actually, PIC code is
more compact than non-PIC, at least with the current mips toolchain.
Also, linking PIC and non-PIC code statically isn't supported.

> 2) Why is this being done in the debian rules file where it adds
> clutter and confusion, instead of in either the configure.in file, or
> the lib/Makefile.* files?

a) It was already done that way.
b) This is a special case for mips/mipsel in order to get a
   static library suitable for bootloaders implemented in non-PIC
   (specifically arcboot, which needs a 64bit version for some ARCS
   firmware versions).
c) I don't know if it is appropriate to hack such a special case in
   upstream code, because Debian gcc-4.0/binutils-2.16 support -mabi=64
   good enough for this case, but other (older) versions do not.


Thiemo


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to