This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] move a call to assemble_external


> Attached.  The required .IMPORT directives for the various libcalls
> are no longer generated.

Could you please try the attached patch. It turns out I was not
calling assemble_external on functions decls.

> Dave
> --
> J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
> National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
>


Thanks,
-- 
Rafael Avila de Espindola

Google Ireland Ltd.
Gordon House
Barrow Street
Dublin 4
Ireland

Registered in Dublin, Ireland
Registration Number: 368047
diff --git a/gcc/final.c b/gcc/final.c
index 787c43a..b2f8158 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -2609,6 +2609,20 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
 	targetm.asm_out.unwind_emit (asm_out_file, insn);
 #endif
 
+	if (CALL_P (insn))
+	  {
+	    rtx x = PATTERN (insn);
+	    x = XEXP (x, 0);
+	    if (x && MEM_P (x) && GET_CODE (XEXP (x, 0)) == SYMBOL_REF)
+	      {
+		tree t;
+		x = XEXP (x, 0);
+		t = SYMBOL_REF_DECL (x);
+		if (t)
+		  assemble_external (t);
+	      }
+	  }
+
 	/* Output assembler code from the template.  */
 	output_asm_insn (templ, recog_data.operand);
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]