mirror of
https://github.com/rhboot/gnu-efi
synced 2026-08-26 00:26:04 -04:00
Add test for ctors & dtors with a priority
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
This commit is contained in:
parent
e1efa4d70a
commit
ba150f34d6
2 changed files with 30 additions and 1 deletions
|
|
@ -64,7 +64,7 @@ TARGET_APPS = t.efi t2.efi t3.efi t4.efi t5.efi t6.efi \
|
|||
route80h.efi drv0_use.efi AllocPages.efi exit.efi \
|
||||
FreePages.efi setjmp.efi debughook.efi debughook.efi.debug \
|
||||
bltgrid.efi lfbgrid.efi setdbg.efi unsetdbg.efi \
|
||||
ctors_test.efi
|
||||
ctors_test.efi ctors_dtors_priority_test.efi
|
||||
TARGET_BSDRIVERS = drv0.efi
|
||||
TARGET_RTDRIVERS =
|
||||
|
||||
|
|
|
|||
29
apps/ctors_dtors_priority_test.c
Normal file
29
apps/ctors_dtors_priority_test.c
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#include <efi.h>
|
||||
#include <efilib.h>
|
||||
|
||||
// 101 in init_array, 65434 in ctors
|
||||
static void __attribute__((constructor(101))) ctors101() {
|
||||
Print(L"1) ctor with lower numbered priority \r\n");
|
||||
}
|
||||
|
||||
// 65434 in init_array, 101 in ctors
|
||||
static void __attribute__((constructor(65434))) ctors65434() {
|
||||
Print(L"2) ctor with higher numbered priority \r\n");
|
||||
}
|
||||
|
||||
// 101 in fini_array, 65434 in dtors
|
||||
static void __attribute__((destructor(101))) dtors101() {
|
||||
Print(L"4) dtor with lower numbered priority \r\n");
|
||||
}
|
||||
|
||||
// 65434 in fini_array, 101 in dtors
|
||||
static void __attribute__((destructor(65434))) dtors65434() {
|
||||
Print(L"3) dtor with higher numbered priority \r\n");
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
efi_main (EFI_HANDLE image EFI_UNUSED, EFI_SYSTEM_TABLE *systab EFI_UNUSED)
|
||||
{
|
||||
Print(L"Main function \r\n");
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue