From c810873da19e9350a1f7ba9af80d1f37876c92f1 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 14 Nov 2000 20:46:25 +0000 Subject: * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used by STO_ALPHA constants. * config/tc-alpha.c (s_alpha_prologue): Preserve visibility bits. --- bfd/ChangeLog | 5 +++++ bfd/elf64-alpha.c | 4 ++-- gas/ChangeLog | 4 ++++ gas/config/tc-alpha.c | 6 ++++-- 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 + + * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used + by STO_ALPHA constants. + 2000-11-14 Kazu Hirata * 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 + + * config/tc-alpha.c (s_alpha_prologue): Preserve visibility bits. + 2000-11-13 H.J. Lu * 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; -- cgit v1.1