J. Gareth "Curious Kit" Moreton
90e0b426ef
* SkipInstr now includes ait_align
2023-11-25 20:47:44 +00:00
Nikolay Nikolov
cf21365a21
* fixed and enabled the is_pascal_goto_target check
2023-10-22 04:01:37 +03:00
Nikolay Nikolov
c48a8ad31f
+ added ait_wasm_structured_instruction to the SkipLineInfo set
2023-10-16 23:05:10 +03:00
Nikolay Nikolov
df2488ea6e
* shorten the string for ait_wasm_structured_instruction in taitypestr to fit in string[24]
2023-10-05 18:50:01 +03:00
Nikolay Nikolov
dec6255a19
+ introduced classes for WebAssembly structured form of instructions
2023-10-03 18:47:37 +03:00
Nikolay Nikolov
da2649fade
+ added wasm32-specific flag tai_label.is_pascal_goto_target
2023-06-04 05:44:32 +03:00
ccrause
a135940cf5
Mark .noinit section with nobits flag.
2022-08-14 19:31:21 +00:00
J. Gareth "Curious Kit" Moreton
94c87243ca
* Reference counts are now properly incremented on duplicated taicpu objects
2022-07-15 17:03:10 +00:00
Jonas Maebe
8817e896db
Add missing reference increases for ait_jvar labels
2022-05-20 21:18:44 +02:00
Jonas Maebe
ac89cfc6c7
aasmtai: added tai_string.Create(ansistring)
...
Also prevent range check errors for empty strings
2022-05-13 22:49:02 +02:00
florian
0ae45bd2cf
+ AVR: track flag usage
...
+ AVR: take care of allocated flags when spilling
* AVR: trgcpu.do_spill_read might also use ADIW
2022-05-01 22:42:57 +02:00
ccrause
738a0a35de
Add section directive for subroutines for embedded and freertos systems.
2022-02-22 20:51:32 +00:00
florian
7e73e0dd23
+ support reading of .p2align with op code and/or max. bytes in the gas assembler reader
...
+ test
2021-10-18 22:12:27 +02:00
Nikolay Nikolov
cdf1ceca76
* emit a weak symbol for the exception tag, since that's what the LLVM linker
...
wants to treat them as shared between .o files
2021-09-28 02:52:40 +03:00
Nikolay Nikolov
8226233aa3
* introduced the tai_globaltype asm directive, use that to declare the stack
...
pointer global symbol
2021-09-27 02:39:43 +03:00
Nikolay Nikolov
346b57e238
* tai_impexp renamed tai_export_name
...
* ait_importexport renamed ait_export_name
2021-09-26 18:35:10 +03:00
Nikolay Nikolov
83f2f7bf37
+ introduced TObjData.SymbolPairDefine, to allow custom handling of symbol
...
pairs in the internal object writer
2021-09-26 03:56:56 +03:00
Nikolay Nikolov
a6e75d52f7
+ introduced tai_import_module and tai_import_name that represent the
...
.import_module and .import_name assembler directives
2021-09-24 22:14:32 +03:00
florian
bee87583de
* avoid warnings
2021-09-17 22:27:44 +02:00
Nikolay Nikolov
3022f59ff4
+ introduced ait_tagtype and tai_tagtype
2021-09-17 02:05:24 +03:00
pierre
f1d30a5bc6
Add .force_thumb pseudo-directive support forarm reader
...
git-svn-id: trunk@49271 -
2021-04-26 21:14:27 +00:00
nickysn
07c1783e24
* refactored call_indirect to use a 'functype' operand type. This type will be reused for block instructions as well.
...
git-svn-id: branches/wasm@48027 -
2021-01-04 10:50:06 +00:00
nickysn
8c79c1fe15
* synchronized with trunk
...
git-svn-id: branches/wasm@47671 -
2020-12-03 02:23:53 +00:00
florian
482698e566
+ add endsym to ConcatConstSymbol
...
git-svn-id: trunk@47668 -
2020-12-02 21:44:12 +00:00
nickysn
578750a646
* synchronized with trunk
...
git-svn-id: branches/wasm@47135 -
2020-10-19 05:06:33 +00:00
Jonas Maebe
9376f5a43a
* AArch64: added SIMD instructions (only plain ARMv8-A for now)
...
o added AArch64 regset parsing support in assembler reader, means that "{"
no longer starts comments there (like in the ARM assembler reader)
o added AArch64 indexed SIMD register support and removed old cg hacks
that worked around its absence
git-svn-id: trunk@47116 -
2020-10-15 20:29:36 +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
fc96ad5afd
+ write the end_function directive
...
git-svn-id: branches/wasm@46838 -
2020-09-11 14:47:27 +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
62cb7c2d12
* synchronized with trunk
...
git-svn-id: branches/wasm@46214 -
2020-08-03 21:15:39 +00:00
nickysn
62e1f516ca
[PATCH 39/83] adding local instruction
...
From 3ae3ecb30c707b1726cab65bd7492341f054f9a9 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Wed, 18 Sep 2019 14:40:31 -0400
git-svn-id: branches/wasm@45916 -
2020-07-29 17:39:36 +00:00
nickysn
952f2db4a7
[PATCH 21/83] adding assembly instruction to support import/export for wasm
...
From 4c145e3440d327b1226472c65168da8d3e737a11 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Wed, 11 Sep 2019 14:55:06 -0400
git-svn-id: branches/wasm@45898 -
2020-07-29 16:55:42 +00:00
nickysn
95bed362ba
[PATCH 02/83] updating common FPC sources for WASM target
...
From 7705a37c1f11687c3d465c4645357d6679150996 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Wed, 28 Aug 2019 17:01:14 -0400
git-svn-id: branches/wasm@45879 -
2020-07-29 16:01:48 +00:00
florian
84a1f614d9
* fix several double ;
...
git-svn-id: trunk@45488 -
2020-05-24 17:52:09 +00:00
svenbarth
2b59000d56
+ implement compiler support for SEH on Win64
...
Note: due to the way we access variables in a nested function (which in this case includes exception filters) we can not extract the finally handlers and call them (like we do on i386 and x86_64, but instead we duplicate the finally code)
git-svn-id: trunk@44941 -
2020-04-21 06:06:05 +00:00
svenbarth
3e29742fd9
* for PE+ specific checks use a constant in systems.pas instead of an explicit list (easier to extend this way)
...
git-svn-id: trunk@44912 -
2020-04-21 06:04:10 +00:00
Jonas Maebe
ac1e0f96bd
* replaced tentryfile.get/putsmall/normalset() with a common tget/putset
...
that expects an open array of byte, and use it for all sets
o since all sets need to be typecasted to an array type of the appropriate
size, we'll get a compilation error in case this needs to be done and
that also tells us at the same time that the ppu version will need to
be increased
* enabled {$packset 1} for the compiler, as this is now safe with the above
changes
git-svn-id: trunk@43407 -
2019-11-06 21:50:19 +00:00
svenbarth
e251c8e2ab
* fix for Mantis #36174 : correctly initialize secprocbits and secflags given the section type
...
git-svn-id: trunk@43267 -
2019-10-19 15:41:41 +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
florian
3949be6989
* be able to set an AT_* for datablocks
...
* set AT_TLS if needed
git-svn-id: trunk@43076 -
2019-09-25 21:19:07 +00:00
florian
f883dd6dbb
Synchronized with trunk, part 2 (make all works, avx-512 support not yet tested, no regression testing yet)
...
git-svn-id: branches/tg74/avx512@42643 -
2019-08-10 19:38:35 +00:00
florian
746bfced25
Synchronized with trunk, part 1 (only make cycle tested, make all is broken, avx-512 support not yet tested
...
git-svn-id: branches/tg74/avx512@42642 -
2019-08-10 13:53:20 +00:00
Jeppe Johansen
ff3372567f
- Applied patch by Christo Crause from #33914
...
git-svn-id: trunk@42493 -
2019-07-25 13:24:10 +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