pierre
f71415a2de
Extend ait_ua_elf_const2str to all aitconst_XXX to fix mips/mipsel RTTI generation
...
git-svn-id: trunk@45719 -
2020-07-02 16:06:01 +00:00
Károly Balogh
6cc818cbe3
m68k: avoid more vlink warnings regarding changed section attributes, when the target system has no write-protected sections
...
git-svn-id: trunk@45470 -
2020-05-23 12:13:30 +00:00
nickysn
3d81dd0b00
* ReplaceForbiddenAsmSymbolChars renamed ApplyAsmSymbolRestrictions, because now it also applies the
...
label length limit
git-svn-id: branches/z80@45085 -
2020-04-26 10:42:07 +00:00
svenbarth
f150fc6b7c
* at least clang can savely generate relocatable readonly sections, so use "r" for aarch64-win64
...
git-svn-id: trunk@44931 -
2020-04-21 06:05:25 +00:00
svenbarth
329710f573
* use COFF sectionattrs for aarch64-win64 as well
...
git-svn-id: trunk@44930 -
2020-04-21 06:05:21 +00:00
svenbarth
3f62c5f5ef
+ introduce a virtual method for writing the section flags
...
git-svn-id: trunk@44928 -
2020-04-21 06:05:14 +00:00
svenbarth
b5a4f8837c
* rename the local sectionflags and sectionprogbits variables to the more clear usesectionflags and usesectionprogbits
...
git-svn-id: trunk@44927 -
2020-04-21 06:05:10 +00:00
svenbarth
3b1d5794e9
* Windows on AArch64 does not support ProgBits either
...
git-svn-id: trunk@44917 -
2020-04-21 06:04:34 +00:00
florian
8ac8c79a71
+ initial support for arm-freertos largely based on patch by Michael Ring
...
git-svn-id: trunk@44871 -
2020-04-19 20:59:52 +00:00
Károly Balogh
56ad37133e
m68k-amiga: hack to avoid a linker (vlink) warning about merging sections with different flags together. Amiga doesn't support true read only sections anyway
...
git-svn-id: trunk@44757 -
2020-04-17 23:09:16 +00:00
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