Yuriy Sydorov
122ed4b76a
* Support for sleb128 and uleb128 constants in the NASM writer.
...
* Added sleb128tostr() and uleb128tostr() methods to TExternalAssembler.
* Use these methods in assembler writers instead of code duplication.
2021-08-16 00:40:34 +03:00
florian
464730dc44
+ patch by J. Gareth Moreton: New label debugging feature, resolves #38980
...
git-svn-id: trunk@49494 -
2021-06-10 20:26:17 +00:00
florian
e9b3db0d78
* more fixes to support vasm on arm
...
* do not crash on empty eabi attribute strings
git-svn-id: trunk@49397 -
2021-05-22 20:22:53 +00:00
Károly Balogh
f76bb5fc5e
m68k-sinclairql: apply the same hack as for amiga and atari to avoid vlink section attribute warning
...
git-svn-id: trunk@49295 -
2021-04-29 22:21:36 +00:00
nickysn
64bb0359d2
* synchronized with trunk
...
git-svn-id: branches/wasm@48412 -
2021-01-24 23:38:35 +00:00
yury
64c586b86d
* Removed/ifdefed lots of unused variables.
...
git-svn-id: trunk@48384 -
2021-01-24 12:24:01 +00:00
nickysn
807c743e35
* system identifier system_wasm32_wasm renamed system_wasm32_embedded
...
git-svn-id: branches/wasm@48362 -
2021-01-24 01:01:39 +00:00
nickysn
35489718f3
* fixed call_indirect for the llvm-mc asm writer
...
git-svn-id: branches/wasm@47965 -
2021-01-02 12:21:30 +00:00
nickysn
763ca253c1
+ introduced the TWasmFuncType class - used to hold a Wasm function signature
...
git-svn-id: branches/wasm@47963 -
2021-01-02 11:54:41 +00:00
nickysn
d3d51d2f7e
* synchronized with trunk
...
git-svn-id: branches/wasm@47338 -
2020-11-07 22:40:43 +00:00
pierre
7966b29b2f
i386-go32v2 also does not support progbits, as other COFF targets
...
git-svn-id: trunk@47255 -
2020-10-30 15:33:27 +00:00
nickysn
b230e295fa
+ emit .type directives for ait_symbolpair on targets that have tf_needs_symbol_type
...
git-svn-id: branches/wasm@47002 -
2020-09-29 12:18:34 +00:00
nickysn
ceeb614473
+ handle exports in the llvm-mc wasm32 assembler writer
...
git-svn-id: branches/wasm@46994 -
2020-09-28 23:13:51 +00:00
nickysn
5ee6e9d593
* declare end_function as an instruction, instead of a directive
...
git-svn-id: branches/wasm@46849 -
2020-09-11 16:25:44 +00:00
nickysn
15cdc6b856
* fix for the wasm section directive writing
...
git-svn-id: branches/wasm@46841 -
2020-09-11 15:09:06 +00:00
nickysn
fc96ad5afd
+ write the end_function directive
...
git-svn-id: branches/wasm@46838 -
2020-09-11 14:47:27 +00:00
nickysn
35e83d5524
* group tai_local directives, so that they are output as a single directive with comma separated types
...
git-svn-id: branches/wasm@46714 -
2020-08-26 23:36:28 +00:00
nickysn
76f1b8cf60
+ generate the .functype directive for the llvm-mc wasm assembler
...
git-svn-id: branches/wasm@46711 -
2020-08-26 23:00:25 +00:00
nickysn
f95d35340c
+ first attempt at writing the .local WASM directive
...
git-svn-id: branches/wasm@46709 -
2020-08-26 21:07:11 +00:00
nickysn
2d39ddf85e
+ write the global procedures/functions in the llvm-mc assembler writer
...
git-svn-id: branches/wasm@46698 -
2020-08-26 16:58:17 +00:00
yury
6e777d8967
* ait_comment,ait_regalloc,ait_tempalloc,ait_varloc instructions produce only comments in the external assembler output. Moved handling of these instructions to TExternalAssembler.WriteComments().
...
This eliminates code duplication and improves maintainability.
git-svn-id: trunk@46550 -
2020-08-22 19:53:39 +00:00
yury
5ec489c018
* ait_varloc instructions are handled and removed by Trgobj.translate_registers() and never left for an assembler.
...
git-svn-id: trunk@46541 -
2020-08-22 10:58:21 +00:00
Jonas Maebe
e7d1a77f9a
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
...
* rename the m68k/PowerPC-MacOS targets to m68k/PowerPC-MacOSClassic
* repurpose the AArch64/Darwin target for AArch64/macOS
o make AArch64-Darwin default target for a hosted AArch64-Darwin compiler
git-svn-id: trunk@45758 -
2020-07-10 21:52:24 +00:00
pierre
87bf6a4b56
Do not use .hidden for systems_wince, as is done for systems_windows
...
git-svn-id: trunk@45756 -
2020-07-10 14:15:22 +00:00
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