Dear tinycc-devel,

A few more fixes for your review.

- support for generating ARM64 PE32+ images
- support for generating X64, ARM64, IA32 (untested) and ARM (untested)
UEFI images.

https://github.com/andreiw/tinycc/commit/5267c3c291841cb3c3ad1ec88b4ab91a16afc44b
(PE: clean up characteristcs/subsystem code)
https://github.com/andreiw/tinycc/commit/2df4e01b400211cce90b3d427bf06dbad35bb453
(PE: fix UEFI image generation)
https://github.com/andreiw/tinycc/commit/5cf413024d4a4a163cbf3a4f4329d75f3dd640f9
(PE: experimental ARM64 support)


The UEFI stuff was tested by building the following simple app (you need
Tiano edk2 for the headers).

$ ./x86_64-win32-tcc -I ../edk2/MdePkg/Include/ -I
../edk2/MdePkg/Include/X64/  ../efitest.c  -Wl,-subsystem=efiapp -nostdlib
-o ../efitest.x64.efi  -v

$ ./arm64-win32-tcc -I ../edk2/MdePkg/Include/ -I
../edk2/MdePkg/Include/AArch64/  ../efitest.c  -Wl,-subsystem=efiapp
-nostdlib -o ../efitest.aa64.efi

-->
#include <Uefi.h>

CHAR16 *gHello = L"Hello from a TinyCC compiled UEFI binary!\r\n";

EFI_STATUS EFIAPI
_start(EFI_HANDLE Handle,
       EFI_SYSTEM_TABLE *SystemTable)
{
  CHAR16 *StackString = L"String pointer on the stack\r\n";
  SystemTable->ConOut->OutputString(SystemTable->ConOut, StackString);
  SystemTable->ConOut->OutputString(SystemTable->ConOut, gHello);
  return EFI_SUCCESS;
}
-->

-- 
A
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to