florian 
							
						 
					 
					
						
						
						
						
							
						
						
							40bbb28fd2 
							
						 
					 
					
						
						
							
							* do not write section flags/progbits for .data, .rodata .data.norel as the compiler will ignore them anyways and warn about it  
						
						... 
						
						
						
						git-svn-id: trunk@43428 - 
						
					 
					
						2019-11-09 18:28:30 +00:00 
						 
				 
			
				
					
						
							
							
								svenbarth 
							
						 
					 
					
						
						
						
						
							
						
						
							f481587bee 
							
						 
					 
					
						
						
							
							* fix compilation on PE/COFF based systems with GNU AS as there the progbits are not supported  
						
						... 
						
						
						
						git-svn-id: trunk@43345 - 
						
					 
					
						2019-11-01 13:27:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							e3c6ef21d1 
							
						 
					 
					
						
						
							
							* fixed compilation for Darwin and AIX after addition of section attributes  
						
						... 
						
						
						
						git-svn-id: trunk@43273 - 
						
					 
					
						2019-10-20 14:14:09 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							245b58c249 
							
						 
					 
					
						
						
							
							+ support for arm attributes  
						
						... 
						
						
						
						* abi notes fixed
git-svn-id: trunk@43157 - 
						
					 
					
						2019-10-09 17:45:40 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							8ecdb2e9ca 
							
						 
					 
					
						
						
							
							+ dwarf support for tls threadvars  
						
						... 
						
						
						
						git-svn-id: trunk@43134 - 
						
					 
					
						2019-10-05 20:48:31 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							16163b74ec 
							
						 
					 
					
						
						
							
							+ support for the gnu2 general-dynamic tls model on arm, use it instead of the gnu one as the gnu2 one can be relaxed (access optimizations by the linker)  
						
						... 
						
						
						
						+ support pic relocations in the internal assembler writer
git-svn-id: trunk@43128 - 
						
					 
					
						2019-10-05 20:48:26 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							03dfc615dc 
							
						 
					 
					
						
						
							
							+ new relocations for arm tls  
						
						... 
						
						
						
						git-svn-id: trunk@43123 - 
						
					 
					
						2019-10-05 20:48:21 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							3fee990218 
							
						 
					 
					
						
						
							
							* on Mach-O, PECOFF and ELF platforms, write local symbols as hidden/  
						
						... 
						
						
						
						private_extern (or plain global in case of PECOFF, as the effect is
    the same there): visible across object files, but they become local
    when linked into a binary/library. This enables cross-unit inlining
    of functions accessig implementation-only symbols.
git-svn-id: trunk@42340 - 
						
					 
					
						2019-07-07 21:33:43 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							1ed0000ae8 
							
						 
					 
					
						
						
							
							+ Encode(U/S)leb128 take now a third parameter to force that the constant has a certain minimum size  
						
						... 
						
						
						
						+ tai_const has a new field fixed_size which is used to fix the size of an s/uleb128. This is needed to ensure convergence during assembling when calculating offsets
git-svn-id: branches/debug_eh@42255 - 
						
					 
					
						2019-06-20 17:13:28 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9e9a982bfe 
							
						 
					 
					
						
						
							
							* synchronised with trunk till r42095  
						
						... 
						
						
						
						git-svn-id: branches/debug_eh@42096 - 
						
					 
					
						2019-05-18 18:43:51 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							47812c8a3d 
							
						 
					 
					
						
						
							
							* don't double-define function aliases for Darwin defined via ".set" directive  
						
						... 
						
						
						
						git-svn-id: trunk@42095 - 
						
					 
					
						2019-05-18 18:41:38 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							1b6425176b 
							
						 
					 
					
						
						
							
							* synchronised with trunk till r42049  
						
						... 
						
						
						
						git-svn-id: branches/debug_eh@42050 - 
						
					 
					
						2019-05-12 18:44:05 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							281b3ad276 
							
						 
					 
					
						
						
							
							* fix case completeness and unreachable code warnings in compiler that would  
						
						... 
						
						
						
						be introduced by the next commit
git-svn-id: trunk@42046 - 
						
					 
					
						2019-05-12 14:29:03 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							5d28e2156b 
							
						 
					 
					
						
						
							
							+ support for generating Dwarf CFI using .cfi_* directives  
						
						... 
						
						
						
						o adjust peephole optimisers so they don't remove cfi_endproc directives
     in case of tail call optimisation
git-svn-id: branches/debug_eh@41578 - 
						
					 
					
						2019-03-03 17:15:03 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							27ab140dd9 
							
						 
					 
					
						
						
							
							+ gcc_except_table section  
						
						... 
						
						
						
						+ support exception related sections in the default LD linker script
git-svn-id: branches/debug_eh@41285 - 
						
					 
					
						2019-02-10 17:57:48 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							9f16c34329 
							
						 
					 
					
						
						
							
							+ initial work for tls-based threadvar support on arm-linux  
						
						... 
						
						
						
						git-svn-id: trunk@40267 - 
						
					 
					
						2018-11-07 22:02:58 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							a092da723a 
							
						 
					 
					
						
						
							
							+ new fields for more precise control of alignment  
						
						... 
						
						
						
						+ support of new alignment control values for GNU AS writer
+ support of new alignment control values for binary writer
* better alignment settings on i386-win32
* improved inserted align directives for if nodes
git-svn-id: trunk@40159 - 
						
					 
					
						2018-11-01 20:49:17 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							0cc3be49fa 
							
						 
					 
					
						
						
							
							* GAS readers and writers can handle section flags  
						
						... 
						
						
						
						git-svn-id: trunk@39998 - 
						
					 
					
						2018-10-20 18:23:24 +00:00 
						 
				 
			
				
					
						
							
							
								Jeppe Johansen 
							
						 
					 
					
						
						
						
						
							
						
						
							74a7963d58 
							
						 
					 
					
						
						
							
							Redo overflow checking code.  
						
						... 
						
						
						
						Fix shift operators in case of unsigned subreg operations. There should be no sign extension here.
Add some unittest implementations that test stack execution and writing to readonly constants.
git-svn-id: branches/laksen/riscv_new@39762 - 
						
					 
					
						2018-09-16 18:37:59 +00:00 
						 
				 
			
				
					
						
							
							
								Károly Balogh 
							
						 
					 
					
						
						
						
						
							
						
						
							ac127ac10a 
							
						 
					 
					
						
						
							
							palmos: no .rodata section here either  
						
						... 
						
						
						
						git-svn-id: trunk@37898 - 
						
					 
					
						2018-01-04 08:26:22 +00:00 
						 
				 
			
				
					
						
							
							
								nickysn 
							
						 
					 
					
						
						
						
						
							
						
						
							2af5c9d508 
							
						 
					 
					
						
						
							
							* changed type used for section alignment from byte/shortint to longint, so the  
						
						... 
						
						
						
						internal object writer and the internal linker support object files with
  sections with alignment >=256
git-svn-id: trunk@37518 - 
						
					 
					
						2017-10-25 15:47:29 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							f37613ddd8 
							
						 
					 
					
						
						
							
							* Use .rodata and .data.rel.ro sections for Android with PIC.  
						
						... 
						
						
						
						git-svn-id: trunk@36292 - 
						
					 
					
						2017-05-22 13:40:48 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							f7c2ab2e7c 
							
						 
					 
					
						
						
							
							aggas.pas: Make WriteSection method of TGNUAssembler class virtual.  
						
						... 
						
						
						
						ppcgen/agppcgas.pas: Override WriteSection method in TPPCAIXAssembler class
  to compute required alignment for base sections.
git-svn-id: trunk@36227 - 
						
					 
					
						2017-05-16 11:58:33 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							6eee90ad3f 
							
						 
					 
					
						
						
							
							Fix section alignment code for GNU assembler for smartlinked objects on aix system  
						
						... 
						
						
						
						git-svn-id: trunk@35885 - 
						
					 
					
						2017-04-22 08:48:23 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							d139868dc4 
							
						 
					 
					
						
						
							
							* Use .rodata section for Android.  
						
						... 
						
						
						
						git-svn-id: trunk@35553 - 
						
					 
					
						2017-03-09 20:17:35 +00:00 
						 
				 
			
				
					
						
							
							
								svenbarth 
							
						 
					 
					
						
						
						
						
							
						
						
							deb86a9e70 
							
						 
					 
					
						
						
							
							* Windows and GNU AS both correctly handle read only sections with relocations, so make use of that  
						
						... 
						
						
						
						git-svn-id: trunk@35363 - 
						
					 
					
						2017-01-29 17:33:30 +00:00 
						 
				 
			
				
					
						
							
							
								Károly Balogh 
							
						 
					 
					
						
						
						
						
							
						
						
							f1f18d6f83 
							
						 
					 
					
						
						
							
							aggas: removed a bunch of amiga related hacks which are unnecessary if those systems use an aout GAS writer. made it possible to inject sectionattrs in a generic way  
						
						... 
						
						
						
						git-svn-id: trunk@35115 - 
						
					 
					
						2016-12-12 22:44:36 +00:00 
						 
				 
			
				
					
						
							
							
								Károly Balogh 
							
						 
					 
					
						
						
						
						
							
						
						
							4e51dc2298 
							
						 
					 
					
						
						
							
							m68k: enable named sections for vasm generated objects. have a separate as_m68k_as_aout for a.out objects which doesn't have named sections. amiga and atari gas defaults to a.out, so have it default on these systems. finally enable section smartlinking for amiga and atari, which will be used with vasm assembler  
						
						... 
						
						
						
						git-svn-id: trunk@35112 - 
						
					 
					
						2016-12-11 23:27:24 +00:00 
						 
				 
			
				
					
						
							
							
								Károly Balogh 
							
						 
					 
					
						
						
						
						
							
						
						
							ff09cb569d 
							
						 
					 
					
						
						
							
							atari: the Atari GNU AS won't tolerate .section .fpc, much like the amiga one  
						
						... 
						
						
						
						git-svn-id: trunk@34604 - 
						
					 
					
						2016-10-03 04:06:49 +00:00 
						 
				 
			
				
					
						
							
							
								Károly Balogh 
							
						 
					 
					
						
						
						
						
							
						
						
							39f0b9c888 
							
						 
					 
					
						
						
							
							m68k: added atari to the .section exception list in the GNU AS writer  
						
						... 
						
						
						
						git-svn-id: trunk@34588 - 
						
					 
					
						2016-10-01 23:38:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							5ac99f62e9 
							
						 
					 
					
						
						
							
							+ AT_METADATA symbol type for data that is unrelated to the program  
						
						... 
						
						
						
						exectuion (such as debug information). It's handled the same as
    AT_DATA by assemblers/assembler writers.
git-svn-id: trunk@34149 - 
						
					 
					
						2016-07-19 11:57:31 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							90b284e169 
							
						 
					 
					
						
						
							
							+ generate .debug_aranges sections for dwarf debug info: enables faster address to debug info translation  
						
						... 
						
						
						
						git-svn-id: trunk@33454 - 
						
					 
					
						2016-04-08 20:19:59 +00:00 
						 
				 
			
				
					
						
							
							
								nickysn 
							
						 
					 
					
						
						
						
						
							
						
						
							178dab45d3 
							
						 
					 
					
						
						
							
							+ added new asm directive 'asd_cpu' (specifies the CPU's instruction set) in the  
						
						... 
						
						
						
						compiler's internal assembly representation. It is not yet generated by the
  compiler and is only implemented properly in the NASM writer (but will
  eventually be implemented in the other assembler writers as well, including
  the internal assembler). In the future, it is intended to allow:
  1) catching instructions, generated by the compiler and not supported by the
     target CPU, due to a bug in the code generator
  2) allowing a different instruction set to be used in inline asm blocks (I'm
     planning a new directive for that - {$asmcpu XXX}), because the code
     generator will be able to switch target CPU in the middle of the asm output
     stream
git-svn-id: trunk@33121 - 
						
					 
					
						2016-02-25 21:47:13 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							3aba28deb7 
							
						 
					 
					
						
						
							
							* factored out the generation of the Objective-C section names, so we can  
						
						... 
						
						
						
						reuse them for llvm too
git-svn-id: trunk@32885 - 
						
					 
					
						2016-01-07 22:06:21 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							110a5642c0 
							
						 
					 
					
						
						
							
							- removed ait_weak/tai_weak, and replaced it with the previously existing  
						
						... 
						
						
						
						asd_weak_reference/asd_weak_definition directives
git-svn-id: trunk@32879 - 
						
					 
					
						2016-01-07 22:05:38 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							d303e15eae 
							
						 
					 
					
						
						
							
							* support custom section names for Darwin platforms  
						
						... 
						
						
						
						git-svn-id: trunk@32396 - 
						
					 
					
						2015-11-21 12:36:13 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							61aa4b6a40 
							
						 
					 
					
						
						
							
							Solaris assembler does not want 0x90 fill pattern for text section alignment  
						
						... 
						
						
						
						git-svn-id: trunk@32197 - 
						
					 
					
						2015-10-30 11:19:14 +00:00 
						 
				 
			
				
					
						
							
							
								pierre 
							
						 
					 
					
						
						
						
						
							
						
						
							90ff332b49 
							
						 
					 
					
						
						
							
							Add -Aas-sol to use native Solaris assembler  
						
						... 
						
						
						
						git-svn-id: trunk@32188 - 
						
					 
					
						2015-10-29 15:10:27 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							2bcd49bbc4 
							
						 
					 
					
						
						
							
							* Fixed i386 case jump table when PIC with GOT and an external assembler is used.  
						
						... 
						
						
						
						git-svn-id: trunk@32036 - 
						
					 
					
						2015-10-13 12:58:19 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							e04a3b4ac6 
							
						 
					 
					
						
						
							
							* Removed unused vars for x86 compiler.  
						
						... 
						
						
						
						git-svn-id: trunk@31743 - 
						
					 
					
						2015-09-17 15:20:15 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							432248cbf1 
							
						 
					 
					
						
						
							
							* Removed lot of unused vars.  
						
						... 
						
						
						
						git-svn-id: trunk@31732 - 
						
					 
					
						2015-09-17 12:48:58 +00:00 
						 
				 
			
				
					
						
							
							
								yury 
							
						 
					 
					
						
						
						
						
							
						
						
							61c0448903 
							
						 
					 
					
						
						
							
							* Big fix for ARM GOT support to make it work:  
						
						... 
						
						
						
						- Fixed access to symbols with offset.
  - Always use register R9 for GOT pointer to prevent bugs when free register limit is reached in a function.
  - GOT is not needed for function calls by name.
git-svn-id: trunk@31681 - 
						
					 
					
						2015-09-14 23:15:10 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							991e1f49bd 
							
						 
					 
					
						
						
							
							* store a pointer to the used tasminfo record in every assembler writer, so  
						
						... 
						
						
						
						that we can use assembler writers with different conventions from the
    currently set target_asm (e.g. an x86 assembler writer for inline assembly
    in LLVM IR)
git-svn-id: trunk@31628 - 
						
					 
					
						2015-09-12 23:32:13 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							b3d0197f98 
							
						 
					 
					
						
						
							
							* factored out the output file handling (mostly writing data) from the  
						
						... 
						
						
						
						external assembler writer, so we can reuse the archtecture-specific
    writers to write inline assembly in LLVM IR files
git-svn-id: trunk@31625 - 
						
					 
					
						2015-09-12 23:32:01 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							3f9f498e0d 
							
						 
					 
					
						
						
							
							- removed leftover alpha, ia64 and vis code  
						
						... 
						
						
						
						git-svn-id: trunk@31446 - 
						
					 
					
						2015-08-28 22:31:29 +00:00 
						 
				 
			
				
					
						
							
							
								florian 
							
						 
					 
					
						
						
						
						
							
						
						
							d180187a48 
							
						 
					 
					
						
						
							
							+ DEBUG_AGGAS: tais like tai_marker are written as comments  
						
						... 
						
						
						
						git-svn-id: trunk@30730 - 
						
					 
					
						2015-04-26 17:19:30 +00:00 
						 
				 
			
				
					
						
							
							
								Jeppe Johansen 
							
						 
					 
					
						
						
						
						
							
						
						
							e2272c8a7e 
							
						 
					 
					
						
						
							
							Added aitconst_gs for AVR pointer references to Flash.  
						
						... 
						
						
						
						git-svn-id: trunk@30419 - 
						
					 
					
						2015-04-04 10:29:11 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							bd203a5b57 
							
						 
					 
					
						
						
							
							* synchronised with trunk till r30240  
						
						... 
						
						
						
						git-svn-id: branches/hlcgllvm@30241 - 
						
					 
					
						2015-03-15 19:44:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							9a73c9a460 
							
						 
					 
					
						
						
							
							* avoid string truncation for ait_symbolpair in assembler writer  
						
						... 
						
						
						
						git-svn-id: trunk@30199 - 
						
					 
					
						2015-03-14 18:35:34 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Maebe 
							
						 
					 
					
						
						
						
						
							
						
						
							fb27dff638 
							
						 
					 
					
						
						
							
							* generate ".abiversion 2" directive when targeting ppc64/ELFv2  
						
						... 
						
						
						
						* generate code to load the TOC register if it's required, and
    emit the the ".localentry" directive to indicate to the linker
    where the actual function body starts
  * support the ".localentry" directive in the ppc64 assembler reader
   o disable the fpc_qword_to_double() assembler implementation for
     ELFv2, because we can't manually insert the .localentry directive
     before the stack allocation code
  * perform indirect calls on ppc64 via R12 in ncgcal, as R12 needs to
    contain the function address on entry on ppc64/ELFv2 (and it's
    a volatile register, so there's no problem with always using
    it)
git-svn-id: trunk@30198 - 
						
					 
					
						2015-03-14 18:35:31 +00:00