Source-Changes-HG archive

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

[src/trunk]: src/gnu/dist/toolchain/gas/config If the symbol is weak or exter...



details:   https://anonhg.NetBSD.org/src/rev/26f0e3f3884b
branches:  trunk
changeset: 522492:26f0e3f3884b
user:      matt <matt%NetBSD.org@localhost>
date:      Wed Feb 20 08:12:43 2002 +0000

description:
If the symbol is weak or external and this is a PCREL reference,
generate a fragment instead of fixup.  This allows us to convert
to a GOT or PLT reference which can be resolved externally.

diffstat:

 gnu/dist/toolchain/gas/config/tc-vax.c |  8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diffs (25 lines):

diff -r b16d49898ddb -r 26f0e3f3884b gnu/dist/toolchain/gas/config/tc-vax.c
--- a/gnu/dist/toolchain/gas/config/tc-vax.c    Wed Feb 20 07:52:43 2002 +0000
+++ b/gnu/dist/toolchain/gas/config/tc-vax.c    Wed Feb 20 08:12:43 2002 +0000
@@ -1040,7 +1040,12 @@
                          /* {@}{q^}other_seg */
                          know ((length == 0 && operandP->vop_short == ' ')
                             || (length > 0 && operandP->vop_short != ' '));
-                         if (is_undefined)
+                         if (is_undefined
+#ifndef OBJ_VMS
+                             || S_IS_WEAK(this_add_symbol)
+                             || S_IS_EXTERNAL(this_add_symbol)
+#endif
+                             )
                            {
                              /*
                               * We have a SEG_UNKNOWN symbol. It might
@@ -1247,6 +1252,7 @@
              && (PLT_symbol == NULL || fragP->fr_symbol != PLT_symbol)
              && fragP->fr_symbol != NULL
              && (!S_IS_DEFINED (fragP->fr_symbol)
+                 || S_IS_WEAK (fragP->fr_symbol)
                  || S_IS_EXTERNAL (fragP->fr_symbol)))
            {
              if (p[0] & 0x10)



Home | Main Index | Thread Index | Old Index