aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf64-alpha.c4
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-alpha.c6
4 files changed, 15 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d2d262a..98ed9ce 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used
+ by STO_ALPHA constants.
+
2000-11-14 Kazu Hirata <kazu@hxi.com>
* coff-pmac.c: Fix formatting.
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
index 73620eb..bb20f55 100644
--- a/bfd/elf64-alpha.c
+++ b/bfd/elf64-alpha.c
@@ -1304,12 +1304,12 @@ elf64_alpha_relax_opt_call (info, symval)
/* If the symbol is marked NOPV, we are being told the function never
needs its procedure value. */
- if (info->other == STO_ALPHA_NOPV)
+ if ((info->other & STO_ALPHA_STD_GPLOAD) == STO_ALPHA_NOPV)
return symval;
/* If the symbol is marked STD_GP, we are being told the function does
a normal ldgp in the first two words. */
- else if (info->other == STO_ALPHA_STD_GPLOAD)
+ else if ((info->other & STO_ALPHA_STD_GPLOAD) == STO_ALPHA_STD_GPLOAD)
;
/* Otherwise, we may be able to identify a GP load in the first two
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9232f45..7fd89d6 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2000-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/tc-alpha.c (s_alpha_prologue): Preserve visibility bits.
+
2000-11-13 H.J. Lu <hjl@gnu.org>
* config/obj-elf.c (elf_frob_symbol): Support
diff --git a/gas/config/tc-alpha.c b/gas/config/tc-alpha.c
index c8a1244..44aedcd 100644
--- a/gas/config/tc-alpha.c
+++ b/gas/config/tc-alpha.c
@@ -4555,10 +4555,12 @@ s_alpha_prologue (ignore)
switch (arg)
{
case 0: /* No PV required. */
- S_SET_OTHER (sym, STO_ALPHA_NOPV);
+ S_SET_OTHER (sym, STO_ALPHA_NOPV
+ | (S_GET_OTHER (sym) & ~STO_ALPHA_STD_GPLOAD));
break;
case 1: /* Std GP load. */
- S_SET_OTHER (sym, STO_ALPHA_STD_GPLOAD);
+ S_SET_OTHER (sym, STO_ALPHA_STD_GPLOAD
+ | (S_GET_OTHER (sym) & ~STO_ALPHA_STD_GPLOAD));
break;
case 2: /* Non-std use of PV. */
break;