Commit Graph

946 Commits

Author SHA1 Message Date
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