Revised patch to remove integer output macros
John David Anglin
dave@hiauly1.hia.nrc.ca
Sun Dec 16 17:43:00 GMT 2001
> The problem hits hardest in the pa case because it has two different
> word sizes. The pseudo-op for each size is always the same, it's just
> that we sometimes need to print "P%" in front of a label.
In the last couple of days, I have been looking at problem wrt weak
references on the PA. These are used in crtbegin and would be very
useful for a better thread implementation. When "P%" is used, dld.sl
treats the plabel as a data (GOT) reference. These require immediate
binding and thus cause an abort when a weak reference is undefined
(i.e., "if (weak_reference)" doesn't work as expected). It looks
as if we need a `Q' fixup instead for weak references. These provide
a procedure (PLT) relocation. I think this would resolve the problem
with dld.sl aborting on an undefined weak reference. Unfortunately,
the GNU assembler doesn't support Q relocations at this time and the
HP assembler is missing other stuff.
I just wanted to make you aware that it may be necessary in the future
to add "P%" or "Q%" in front of a label.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
More information about the Gcc-patches
mailing list