[parisc-linux] Get rid of %r8 linker stubs

Alan Modra alan@linuxcare.com.au
Thu, 22 Jun 2000 00:07:14 +1000 (EST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--1024065794-381068437-961596434=:19417
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hello all,
   The attached patch to puffin.external.hp.com CVS binutils-2.10
implements a new linker stub scheme for elf32-hppa.  (Well, it's new for
gnu - I believe the hp linker does something like this).

The new scheme works like this:  For any linker input section that needs a
stub to reach called routines, the linker creates a stub section located
immediately prior to the input section.  A call is simply redirected to
the stub, which consists of a long branch
  ldil LR'XXX,%r1
  be,n RR'XXX(%sr4,%r1)
to the destination.

The old scheme had a single stub section, and out-of-range calls changed
the call instruction from "b,l faraway,%r2" to "be,l stub(%sr4,%r8)".
This of course dedicates a register to point to the stubs, and has some
serious problems caused by changing the return pointer from the normal %r2
to the implicit %r31 used by "be,l".  Additionally, when we finally
implement elf32-hppa shared libraries, there are going to be a _lot_ more
stubs.  We may even exceed the maximum 256k of stubs, especially if we try
to combine .plt and .got with stubs to get a register back.

Anyway, I'd appreciate some brave souls testing out this patch.  A few
positive reports and I'll check the lot in to pehc.

Regards, Alan Modra
-- 
Linuxcare.  Support for the Revolution.




--1024065794-381068437-961596434=:19417
Content-Type: APPLICATION/octet-stream; name="hppastub.diff.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.21.0006220007140.19417@front.linuxcare.com.au>
Content-Description: 
Content-Disposition: attachment; filename="hppastub.diff.gz"

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
LubioMzU7sMotkW7uvLMlsmtJB23O7dfoLe4B/Xz7se0+6ndvR3rg5RWWCES
ta03YzvXKgSGpWIa97AV3cLKyiEcUPE9bpu000PbzBc9aTe4p/RohjlWJb41
HOvGnVOqbuQVJPlNB7c3OaW6h4ToulgKTQCJcboi3YR+B00tKLOOmiYqrSPc
by+rzmgEi3elT7FwlsX+6e+/hxtOnKmMcHwgmzCPWOynkAr+/dsq7ME8u8t1
G3aX/Suyu57b3VUsZXfX5nPcXRvrO5sgnPBnC7N/3PSc9xnnU1dLfOlbyP6b
/EWrICbL75Im5Do4XtkHHkHr+iZ5bnT7LVFG9AanQq+r3+CDS0vmzydPFBeh
3+0LcGHnFwCu+xe64ZzvW6tQT0ufK05pfDAa6Y3bYakBubgGnlhhzHWYw63n
LdQl9c8dPMcoyQNQtus5PNXaWt5Ov4DcIKgNviej87wm+bTNKKNkzAVzFpqZ
iXFAYNoS23ntkHQRSHzfz64HjrOopUl6M2ooe5IQbyh9296861ZTJfzLDE5X
33fd2nOTCcmPiyPU/e6STVl5N+BMXSgxaYppgtee0wSvr/8pExyfxv8nZ/EU
VP9+ep2qfqp/cZO43VrdbrQgz0+rtdXY4lmUAkV3o8749Z63F0zCMoCPvHp7
cNZ+f3D+dzzf6LHrkaqTl//R1iPn887PqboBhZbQ1mAh9eGXRBCi7bI8sjaW
KrILFqXJM9GUOnE3og0//W3x6S4PeH1TU4se7/o2qQ9ywFoFGEHqwTbIeWwH
3QvdQeh0nI7Gwy5dgoJFasxALXQhp0/lzXyUdrOrrKvSvNsZuTxt+Qpbk15r
bQFiU0fg0fLbl8NDdmrUv4ByrGXUF62EdrMbBxDNaZEvU9YeKzTRKW3Cegrg
VZTu+28nJyfcAPyWoVv1sOsAql1mdH91k/lXN6m+uobOjb37/FM2oiyYeolg
2v/7djhJ3VE2uqnBE26PWfJ2a3MLOMZ2a2uDDvhTlr5WQ+tN73rP/r6ctwnl
b1/l7NPEbn+jDtHD0y9P7V2kezXx3+nmckDP1j/RGq/nuN3LrjPG7ub1wt97
17jLXCiFK/tCrdGg1nd2Gq1tyNS1+rzR2nFHyUAl0xpS9mVUJ1Lmw+aXkfDF
Ns/a/PdyHeTcqPnjpIuP4RCzB9a4cIeDaZlKXn1pm/hbiPJ/e3p60D76cHH2
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
lleuzZoA9U1vdtiz/weXE2xAQjwBAA==
--1024065794-381068437-961596434=:19417--