diff options
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-hppa.c | 12 |
2 files changed, 16 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index cb7fb12..10034b2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +Thu Nov 11 15:49:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * config/tc-hppa.c (pa_type_args): For .import statements, + silently ignore attempt to change the symbol type for a function + from ST_ENTRY to ST_CODE on .import + Wed Nov 10 16:19:13 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * write.h (fixS): Rename fx_callj field to fx_tcbit. diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index 5cadd45..194ce9b 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -4766,9 +4766,17 @@ pa_type_args (symbolP, is_export) else if (strncasecmp (input_line_pointer, "code", 4) == 0) { input_line_pointer += 4; - if (is_export && (symbolP->bsym->flags & BSF_FUNCTION)) + /* IMPORTing/EXPORTing CODE types for functions is meaningless for SOM, + instead one should be IMPORTing/EXPORTing ENTRY types. + + Complain if one tries to EXPORT a CODE type since that's never + done. Both GCC and HP C still try to IMPORT CODE types, so + silently fix them to be ENTRY types. */ + if (symbolP->bsym->flags & BSF_FUNCTION) { - as_tsktsk ("Using ENTRY rather than CODE in export directive for %s", symbolP->bsym->name); + if (is_export) + as_tsktsk ("Using ENTRY rather than CODE in export directive for %s", symbolP->bsym->name); + symbolP->bsym->flags |= BSF_FUNCTION; type = SYMBOL_TYPE_ENTRY; } |