aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/tc-hppa.c15
2 files changed, 16 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7a56dea..f6db367 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,8 @@
Sat Oct 30 14:26:20 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
+ * config/tc-hppa.c (pa_export_args): Always set BSF_FUNCTION
+ as appropriate for the given type.
+
* config/tc-hppa.c (tc_gen_reloc): Preliminary stab at handling
SOM relocations.
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 7eb8a9d..a2ed54a 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -4779,12 +4779,19 @@ pa_export_args (symbolP)
if (strncasecmp (input_line_pointer, "absolute", 8) == 0)
{
input_line_pointer += 8;
+ symbolP->bsym->flags &= ~BSF_FUNCTION;
S_SET_SEGMENT (symbolP, &bfd_abs_section);
}
else if (strncasecmp (input_line_pointer, "code", 4) == 0)
- input_line_pointer += 4;
+ {
+ input_line_pointer += 4;
+ symbolP->bsym->flags &= ~BSF_FUNCTION;
+ }
else if (strncasecmp (input_line_pointer, "data", 4) == 0)
- input_line_pointer += 4;
+ {
+ input_line_pointer += 4;
+ symbolP->bsym->flags &= ~BSF_FUNCTION;
+ }
else if ((strncasecmp (input_line_pointer, "entry", 5) == 0))
{
input_line_pointer += 5;
@@ -4793,18 +4800,22 @@ pa_export_args (symbolP)
else if (strncasecmp (input_line_pointer, "millicode", 9) == 0)
{
input_line_pointer += 9;
+ symbolP->bsym->flags |= BSF_FUNCTION;
}
else if (strncasecmp (input_line_pointer, "plabel", 6) == 0)
{
input_line_pointer += 6;
+ symbolP->bsym->flags &= ~BSF_FUNCTION;
}
else if (strncasecmp (input_line_pointer, "pri_prog", 8) == 0)
{
input_line_pointer += 8;
+ symbolP->bsym->flags |= BSF_FUNCTION;
}
else if (strncasecmp (input_line_pointer, "sec_prog", 8) == 0)
{
input_line_pointer += 8;
+ symbolP->bsym->flags |= BSF_FUNCTION;
}
/* Now that the type of the exported symbol has been handled,