aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-hppa.c12
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;
}