Nikolay Nikolov
cad9cd22d3
* ignore the '-gl' parameter on WebAssembly, since it's impossible to implement
...
this feature on this target. WebAssembly is a Harvard architecture and allows
no way for inspecting code addresses in stack traces from within the program
itself. Maybe a future extension to the WebAssembly spec would allow that, but
currently, it's not possible. The '-gl' option is ignored (producing only a
warning, instead of a fatal error), because not having line info should not be
fatal for most programs. It also reduces the number of test failures, since
many tests compile with '-gl', but don't actually require the line info, it's
just there for debugging purposes.
2024-08-24 14:31:31 +03:00
Nikolay Nikolov
8833fabb4b
+ enable the WebAssembly internal linker with multithreading
2024-08-11 02:58:25 +03:00
Nikolay Nikolov
34025aecac
+ enable WebAssembly threads with the internal linker (which still doesn't work
...
with threads) if FPC is compiled with the FPC_WASM_THREADS_INTERNAL_LINKER
define
2024-08-10 19:23:10 +03:00
Nikolay Nikolov
9cf31e2bb3
+ show a message and automatically switch to external linking if WebAssembly multithreading is enabled
2024-08-04 02:55:34 +03:00
Michael Ring
f6651f8855
Add -Ff to firstpass options
2024-07-18 20:16:04 +00:00
Michael Ring
14b3c11c0d
Initial support for esp32-c6-s2-s3. Support for idf versions 5.0.6 and 5.2.1
2024-07-18 20:16:04 +00:00
J. Gareth "Curious Kit" Moreton
0fadf3515e
* x86-64: Workaround to permit CPU types in command line with dashes in names (e.g. X86-64-V3)
2024-07-18 20:05:13 +00:00
ccrause
c42bf9cdf5
Extend riscv32-freertos functionality for esp32c3
2024-05-25 17:26:15 +00:00
florian
13e7f947ea
* all CPUs use now internal abs(<int64>) so overflow checking is possible
...
+ added overflow checking to generic abs(<longint>)
2024-03-29 20:30:57 +01:00
florian
56d84c9283
* compilation fixed
2024-03-28 18:31:38 +01:00
florian
0efd3afb8c
+ arm: internal abs(<int64>)
...
+ arm: overflow checking for abs(...)
2024-03-28 15:56:52 +01:00
Karoly Balogh
3c57eb42f9
do not display the changing assembler note, if the internal and the external assemblers are the same, or there's no internal assembler defined
2024-01-08 14:19:20 +01:00
Karoly Balogh
db137d0528
tabs to spaces cosmetics, no functional change
2024-01-08 14:19:20 +01:00
Karoly Balogh
4a1db1dc79
m68k: initial compiler changes for Human68k (Sharp X68000) support
2023-11-30 23:43:27 +00:00
Pierre Muller
31c8e78581
Default to external assembler
...
in cross-endian configuration.
Add note about reason of switching to external assembler.
2023-11-12 17:26:19 +00:00
Pierre Muller
b054febbc8
Change internal linker in cross-endian message.
...
Change message level from error to warning,
in order to allow to work on full support of
cross-endian internal assemblers and linkers.
2023-11-12 17:26:19 +00:00
Pierre Muller
2cbaa24f76
Prevent usage of internal linker in cross-endian configuration.
...
Add LinkInternSetExplicitly field to TOption class.
Set this field to true if '-Xe-' or '-Xi' option is used.
Check at exit if in cross-endian configuration:
if LinkInternSetExplicitly is set, issue error message,
else add cs_link_extern to init_settings.globalswitches.
2023-11-12 17:25:45 +00:00
Michaël Van Canneyt
c9b88a1cd0
* Allow to disable 8.3 filename search
2023-11-12 09:55:30 +01:00
ccrause
9440b17eea
[AVR] Add command line options to selectively remove portions of the RTL startup code.
2023-08-15 21:33:58 +00:00
Michaël Van Canneyt
adf9f98f7c
* Define char as AnsiChar
2023-07-22 08:26:22 +00:00
Pierre Muller
79d1fcd40d
Introduce -XLL option for link using ld.lld linker
2023-07-19 19:00:30 +02:00
Michaël Van Canneyt
0261a025de
* Restore -aR, lost in refactoring
2023-07-07 10:15:03 +02:00
florian
78c0c267a5
* cleanup
2023-07-01 20:54:08 +02:00
Michaël Van Canneyt
188fc9c112
* Fix compilation for ARM
2023-07-01 18:40:41 +00:00
Michaël Van Canneyt
1930aaa340
* Make use of copy() without count when rest of string is needed
2023-07-01 18:40:41 +00:00
Michaël Van Canneyt
535107a700
* Split out option parsing in one routine per letter
2023-07-01 18:40:41 +00:00
Michael VAN CANNEYT
5605cebd46
* Implement -t and -x options
...
* Fix spurious warning of already specified -t
* If no subtarget file found, error out instead of hint/warn
* Globals needs subtarget for macro substitution
2023-06-19 07:04:50 +00:00
Michaël Van Canneyt
0515be62b4
* Add option to allow emitting comments in RTTI info
2023-05-29 13:41:25 +00:00
Pierre Muller
892220d6fe
Treat -Cb / -Cb- options in first pass (to be able to use FPC_BIG_ENDIAN inside .fpc.cfg config file)
2023-04-06 16:49:40 +02:00
Dmytro Bogatskyy
327aac7f24
Add aarch64-iphonesim target
2023-03-27 18:45:00 +00:00
florian
c7a0c0bbb4
* set FPU type properly for riscv32-freertos
2023-02-11 20:42:31 +01:00
florian
71e0c12c88
* set fpu type correctly for riscv32-freertos
2023-02-08 22:38:17 +01:00
florian
7e3bdd501c
* enable to check the existing of environment variables in config files
2023-02-08 21:33:21 +01:00
Jinyang He
12c4290ffe
Add loongarch64 architecture support to compiler
2023-02-05 19:18:48 +00:00
florian
e9ec4a8bb3
* more riscv32-freertos-esp32c3 stuff added
2023-01-29 19:30:11 +01:00
Jonas Maebe
e54197e9d2
Darwin: support -Xg for DWARFv4
2023-01-22 22:34:25 +01:00
Jonas Maebe
57935a895c
Darwin: really fix -Xg for DWARF4
2022-10-30 21:57:19 +01:00
Jonas Maebe
f18524f2fe
Darwin: fix mac0S 11.0 version string
...
Prevents LLVM warnings
2022-10-29 14:24:37 +02:00
Jonas Maebe
b26703feaa
Darwin version comparisons: factored out into object
...
Use numeric instead of string comparisons
2022-09-16 11:21:05 +02:00
florian
d6e8375e64
* apply default replacements also to defines set by -d:
...
- -d with $ is not possible so this should not break any existing compiler call
- this fixes also the strange error message "Error: malformed parameter: -dlinux"
when e.g. -d$FPCOS is passed as the default replacements are applied to the
error message
2022-08-19 22:31:55 +02:00
Jonas Maebe
403292a131
LLVM backend: address sanitizer support
...
Activate with -Clfsanitize=address. Only tested on Darwin/x86-64 for now.
2022-07-06 22:26:13 +02:00
Jonas Maebe
3ef0db2404
LLVM: list supported LLVM/Xcode versions
...
Use the -i or -il command line parameter
2022-06-04 10:22:19 +02:00
Jonas Maebe
16cb409fbf
LLVM: separate as_clang_llvm_darwin
...
The Darwin local label prefix ('L') is different from that on most other
platforms ('.L). While LLVM generally handles that for us, for inline
assembly it's still FPC's job to adhere to the target conventions.
2022-05-14 22:38:49 +02:00
florian
28964711d7
* sorted defines in the compiler: mips64 is defined on all 64 Bit mips platforms, mips64el for little endian, misp64eb for big endian
2022-02-06 21:57:01 +01:00
florian
ed2b73eee6
* sorted MIPS defines
2022-02-04 23:07:25 +01:00
Pierre Muller
4db332fecf
Add default macros inoptions unit for mips64 and mips64el CPUs
2022-02-04 19:59:26 +00:00
Thorsten Otto
073b48de82
atari: add -Wt<x> option to allow specifying the executable format
...
This is useful to create aoutmint format binaries using vlink,
which have a symbol table that has no limit for the name length.
2022-02-02 21:34:32 +00:00
Karoly Balogh
a87b38f753
* m68k-atari: make the Atari target always default to VLink, even for crosscompilers
2022-01-25 23:50:07 +01:00
Karoly Balogh
ed2dca9a9b
* m68k-atari: make the Atari target use 68000 CPU as default
2022-01-25 23:50:07 +01:00
Karoly Balogh
b3cbf07f27
+ m68k-atari: fixed bogus TOS program flags passed to VLink. added -WF argument to allow the user to specify their own flags if needed
2022-01-25 23:50:07 +01:00