mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	This change switches ARC tools to the most recent arc-2016.03 version. ARC GNU tools of version arc-2016.03 bring some quite significant changes like: * Binutils v2.26+ (upstream commit id 202ac19 with additional ARC * patches) * GCC v4.8.5 * GDB 7.10 More about changes, improvements and fixes could be found here: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
		
			
				
	
	
		
			29 lines
		
	
	
		
			942 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			942 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/gcc/calls.c
 | 
						|
+++ b/gcc/calls.c
 | 
						|
@@ -176,6 +176,12 @@ prepare_call_address (tree fndecl, rtx f
 | 
						|
 	       && targetm.small_register_classes_for_mode_p (FUNCTION_MODE))
 | 
						|
 	      ? force_not_mem (memory_address (FUNCTION_MODE, funexp))
 | 
						|
 	      : memory_address (FUNCTION_MODE, funexp));
 | 
						|
+  else if (flag_pic && !flag_plt && fndecl
 | 
						|
+	   && TREE_CODE (fndecl) == FUNCTION_DECL
 | 
						|
+	   && !targetm.binds_local_p (fndecl))
 | 
						|
+    {
 | 
						|
+      funexp = force_reg (Pmode, funexp);
 | 
						|
+    }
 | 
						|
   else if (! sibcallp)
 | 
						|
     {
 | 
						|
 #ifndef NO_FUNCTION_CSE
 | 
						|
--- a/gcc/common.opt
 | 
						|
+++ b/gcc/common.opt
 | 
						|
@@ -1617,6 +1617,10 @@ fpie
 | 
						|
 Common Report Var(flag_pie,1) Negative(fPIC)
 | 
						|
 Generate position-independent code for executables if possible (small mode)
 | 
						|
 
 | 
						|
+fplt
 | 
						|
+Common Report Var(flag_plt) Init(1)
 | 
						|
+Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)
 | 
						|
+
 | 
						|
 fplugin=
 | 
						|
 Common Joined RejectNegative Var(common_deferred_options) Defer
 | 
						|
 Specify a plugin to load
 |