diff options
-rw-r--r-- | gas/ChangeLog | 3 | ||||
-rw-r--r-- | gas/config/tc-hppa.c | 15 |
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, |