tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] ARM64 PE32+ and UEFI support


From: Andrei E. Warkentin
Subject: [Tinycc-devel] ARM64 PE32+ and UEFI support
Date: Wed, 16 Aug 2017 14:40:31 -0400

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]