Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
for releaseItem in "${releaseItems[@]}"; do cp -Rf "${releaseItem}" ./ || exit 1; done

- name: Upload to Artifacts
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: Clover-GCC-15.2.0-${{ env.GIT_SHA }}
path: |
Expand Down
156 changes: 150 additions & 6 deletions BaseTools/Conf/tools_def.template
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,10 @@ DEFINE DTC_BIN = ENV(DTC_PREFIX)dtc
#DEFINE CLANG_BIN = /usr/bin/
#DEFINE CLANG_BIN = /opt/local/libexec/llvm-3.6/bin/

DEFINE LLVM_BIN = ENV(HOME)/src/llvm-build/Release/bin/
DEFINE CLANG_BIN = ENV(HOME)/src/llvm-build/Release/bin/
#DEFINE LLVM_BIN = ENV(HOME)/src/llvm-build/Release/bin/
#DEFINE CLANG_BIN = ENV(HOME)/src/llvm-build/Release/bin/
DEFINE LLVM_BIN = /opt/local/libexec/llvm-22/bin/
DEFINE XCLANG_BIN = /opt/local/libexec/llvm-22/bin/

####################################################################################
#
Expand Down Expand Up @@ -2132,6 +2134,67 @@ DEFINE GCC152_IA32_X64_DLINK_FLAGS = DEF(GCC152_IA32_X64_DLINK_COMMON),--entr
DEFINE GCC152_X64_DLINK_FLAGS = DEF(GCC152_IA32_X64_DLINK_FLAGS),-melf_x86_64,-znoexecstack,--oformat=elf64-x86-64,-pie
DEFINE GCC152_ASM_FLAGS = DEF(GCC49_ASM_FLAGS)

####################################################################################
#
# LLVM - This configuration is used to compile under OSX to produce
# PE/COFF binaries using LLVM CLANG.
#
####################################################################################
*_LLVM_*_*_FAMILY = GCC
*_LLVM_*_MAKE_PATH = make
*_LLVM_*_ASL_PATH = DEF(UNIX_IASL_BIN)
*_LLVM_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
*_LLVM_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
*_LLVM_*_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS)
*_LLVM_*_VFRPP_FLAGS = DEF(GCC_VFRPP_FLAGS)
*_LLVM_*_APP_FLAGS =
*_LLVM_*_ASL_FLAGS = DEF(IASL_FLAGS)
*_LLVM_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)

##################
# LLVM X64 definitions
##################
*_LLVM_X64_OBJCOPY_PATH = DEF(LLVM_BIN)llvm-objcopy
*_LLVM_X64_CC_PATH = DEF(LLVM_BIN)clang
*_LLVM_X64_SLINK_PATH = DEF(LLVM_BIN)llvm-ar
*_LLVM_X64_DLINK_PATH = DEF(LLVM_BIN)ld
*_LLVM_X64_ASLDLINK_PATH = DEF(LLVM_BIN)ld
#*_LLVM_X64_DLINK_PATH = DEF(LLVM_BIN)llvm-link
#*_LLVM_X64_ASLDLINK_PATH = DEF(LLVM_BIN)llvm-link
*_LLVM_X64_ASM_PATH = DEF(LLVM_BIN)clang
*_LLVM_X64_PP_PATH = DEF(LLVM_BIN)clang
*_LLVM_X64_VFRPP_PATH = DEF(LLVM_BIN)clang
*_LLVM_X64_ASLCC_PATH = DEF(LLVM_BIN)clang
*_LLVM_X64_ASLPP_PATH = DEF(LLVM_BIN)clang
*_LLVM_X64_RC_PATH = DEF(LLVM_BIN)objcopy
*_LLVM_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64
*_LLVM_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64
*_LLVM_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
*_LLVM_X64_OBJCOPY_FLAGS =


##################
# X64 definitions
##################
#RELEASE_LLVM_X64_DLINK_FLAGS = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20 -pie -dead_strip -seg1addr 0x220 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map

RELEASE_LLVM_X64_DLINK_FLAGS = DEF(GCC152_X64_DLINK_FLAGS)
*_LLVM_X64_SLINK_FLAGS =
RELEASE_LLVM_X64_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m64 -Wl,-melf_x86_64
*_LLVM_*_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
*_LLVM_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h

RELEASE_LLVM_X64_CC_FLAGS = -Os -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -Wreturn-type -DNO_BUILTIN_VA_FUNCS -Wno-deprecated-non-prototype
*_LLVM_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -include AutoGen.h -mdynamic-no-pic
*_LLVM_*_ASLDLINK_FLAGS = -e _ReferenceAcpiTable -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_LLVM_*_ASLPP_FLAGS = -x c -E -P
*_LLVM_*_ASL_FLAGS = -ta

*_LLVM_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
*_LLVM_X64_OBJCOPY_FLAGS =
*_LLVM_X64_NASM_FLAGS = -f elf64




####################################################################################
Expand Down Expand Up @@ -2460,9 +2523,9 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s

#Jief removed lto flag. It is set in CLover.dsc, from the env var 'DISABLE_LTO'
DEBUG_GCC53_X64_CC_FLAGS = DEF(GCC53_X64_CC_FLAGS) -g3 -O0
RELEASE_GCC53_X64_CC_FLAGS = DEF(GCC53_X64_CC_FLAGS) -g3 -Os -Werror
RELEASE_GCC53_X64_CC_FLAGS = DEF(GCC53_X64_CC_FLAGS) -Os -Werror
DEBUG_GCC53_X64_CXX_FLAGS = DEF(GCC53_X64_CC_FLAGS) -g3 -O0
RELEASE_GCC53_X64_CXX_FLAGS = DEF(GCC53_X64_CC_FLAGS) -g3 -Os -Werror
RELEASE_GCC53_X64_CXX_FLAGS = DEF(GCC53_X64_CC_FLAGS) -Os -Werror

####################################################################################
#
Expand Down Expand Up @@ -2516,9 +2579,9 @@ RELEASE_GCC53_X64_CXX_FLAGS = DEF(GCC53_X64_CC_FLAGS) -g3 -Os -Werror
*_GCC131_X64_NASM_FLAGS = -f elf64

DEBUG_GCC131_X64_CC_FLAGS = DEF(GCC131_X64_CC_FLAGS) -g3 -O0
RELEASE_GCC131_X64_CC_FLAGS = DEF(GCC131_X64_CC_FLAGS) -g3 -Os -Werror
RELEASE_GCC131_X64_CC_FLAGS = DEF(GCC131_X64_CC_FLAGS) -Os -Werror
DEBUG_GCC131_X64_CXX_FLAGS = DEF(GCC131_X64_CC_FLAGS) -g3 -O0
RELEASE_GCC131_X64_CXX_FLAGS = DEF(GCC131_X64_CC_FLAGS) -g3 -Os -Werror
RELEASE_GCC131_X64_CXX_FLAGS = DEF(GCC131_X64_CC_FLAGS) -Os -Werror

##################
# GCC131 ARM definitions
Expand Down Expand Up @@ -3127,6 +3190,87 @@ RELEASEMACOS_XCODE16_X64_DLINK_FLAGS = -arch x86_64 -nostdlib -Wl,-u,_$(IMA
*_XCODE16_*_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
*_XCODE16_*_APP_FLAGS = DEF(GCC_PP_FLAGS)


# XCLANG


*_XCLANG_*_*_FAMILY = GCC
*_XCLANG_*_*_BUILDRULEFAMILY = XCODE
*_XCLANG_*_*_BUILDRULEORDER = nasm S s

*_XCLANG_*_MTOC_PATH = ENV(MTOC_PREFIX)mtoc.NEW_jief

*_XCLANG_*_MAKE_PATH = make
*_XCLANG_*_DSYMUTIL_PATH = /usr/bin/dsymutil

DEBUG_XCLANG_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll
NOOPT_XCLANG_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll
RELEASE_XCLANG_*_MTOC_FLAGS = -align 0x20

#
# use xcode-select to change Xcode version of command line tools
#
*_XCLANG_*_CC_PATH = $(XCLANG_BIN)clang
*_XCLANG_*_CXX_PATH = $(XCLANG_BIN)clang++
*_XCLANG_*_SLINK_PATH = $(XCLANG_BIN)llvm-libtool-darwin
*_XCLANG_*_DLINK_PATH = $(XCLANG_BIN)clang
*_XCLANG_*_ASM_PATH = $(XCLANG_BIN)clang++
*_XCLANG_*_PP_PATH = $(XCLANG_BIN)clang++
*_XCLANG_*_VFRPP_PATH = $(XCLANG_BIN)clang++
*_XCLANG_*_ASL_PATH = DEF(UNIX_IASL_BIN)
*_XCLANG_*_ASLCC_PATH = $(XCLANG_BIN)clang++
*_XCLANG_*_ASLPP_PATH = $(XCLANG_BIN)clang++
*_XCLANG_*_ASLDLINK_PATH = $(XCLANG_BIN)clang
*_XCLANG_*_NASM_PATH = ENV(NASM_PREFIX)nasm
*_XCLANG_X64_OBJCOPY_PATH = DEF(XCLANG_BIN)llvm-objcopy

##################
# X64 definitions
##################
DEBUG_XCLANG_X64_DLINK_FLAGS = -arch x86_64 -nostdlib -Wl,-u,_$(IMAGE_ENTRY_POINT),-e,_$(IMAGE_ENTRY_POINT),-preload,-segalign,0x20,-pie,-all_load,-dead_strip,-seg1addr,0x260,-object_path_lto,$(DEST_DIR_DEBUG)/$(BASE_NAME).o,-map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
DEBUGMACOS_XCLANG_X64_DLINK_FLAGS = -arch x86_64 -nostdlib -Wl,-u,_$(IMAGE_ENTRY_POINT),-e,_$(IMAGE_ENTRY_POINT),-preload,-segalign,0x20,-pie,-all_load,-dead_strip,-seg1addr,0x800,-map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
RELEASE_XCLANG_X64_DLINK_FLAGS = -arch x86_64 -nostdlib -Wl,-u,_$(IMAGE_ENTRY_POINT),-e,_$(IMAGE_ENTRY_POINT),-preload,-segalign,0x20,-pie,-all_load,-dead_strip,-seg1addr,0x260,-map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
RELEASEMACOS_XCLANG_X64_DLINK_FLAGS = -arch x86_64 -nostdlib -Wl,-u,_$(IMAGE_ENTRY_POINT),-e,_$(IMAGE_ENTRY_POINT),-preload,-segalign,0x20,-pie,-all_load,-dead_strip,-seg1addr,0x800,-map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map

*_XCLANG_X64_SLINK_FLAGS = -static -no_warning_for_no_symbols -o

DEBUG_XCLANG_X64_ASM_FLAGS = -c -x assembler -arch x86_64 -g
DEBUGMACOS_XCLANG_X64_ASM_FLAGS = -c -x assembler -arch x86_64 -g
RELEASE_XCLANG_X64_ASM_FLAGS = -c -x assembler -arch x86_64
RELEASEMACOS_XCLANG_X64_ASM_FLAGS = -c -x assembler -arch x86_64

*_XCLANG_X64_NASM_FLAGS = -f macho64
*_XCLANG_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
*_XCLANG_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h


# -mno-implicit-float
# -Wno-varargs
# -Wno-unused-const-variable

DEFINE XCLANG_COMMON_FLAGS = -c -Wall -Wextra -include AutoGen.h -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mms-bitfields -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -mno-red-zone -fno-common -fdata-sections -ffreestanding -ffunction-sections -fno-asynchronous-unwind-tables -m64 -mcmodel=small -DNO_MSABI_VA_FUNCS -fno-strict-aliasing -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-deprecated-non-prototype -Wno-unused-command-line-argument -Wno-cast-function-type-mismatch -Wno-missing-field-initializers



DEBUG_XCLANG_X64_CC_FLAGS = -g3 -gdwarf -O0 DEF(XCLANG_COMMON_FLAGS) -target x86_64-pc-win32-macho "-DEFIAPI=__attribute__((ms_abi))"
DEBUGMACOS_XCLANG_X64_CC_FLAGS = -g3 -gdwarf -O0 DEF(XCLANG_COMMON_FLAGS)
RELEASE_XCLANG_X64_CC_FLAGS = -Os DEF(XCLANG_COMMON_FLAGS) -target x86_64-pc-win32-macho "-DEFIAPI=__attribute__((ms_abi))" -Werror
RELEASEMACOS_XCLANG_X64_CC_FLAGS = -Os DEF(XCLANG_COMMON_FLAGS)
DEBUG_XCLANG_X64_CXX_FLAGS = -g3 -gdwarf -O0 DEF(XCLANG_COMMON_FLAGS) -target x86_64-pc-win32-macho "-DEFIAPI=__attribute__((ms_abi))"
DEBUGMACOS_XCLANG_X64_CXX_FLAGS = -g3 -gdwarf -O0 DEF(XCLANG_COMMON_FLAGS)
RELEASE_XCLANG_X64_CXX_FLAGS = -Os DEF(XCLANG_COMMON_FLAGS) -target x86_64-pc-win32-macho "-DEFIAPI=__attribute__((ms_abi))" -Werror
RELEASEMACOS_XCLANG_X64_CXX_FLAGS = -Os DEF(XCLANG_COMMON_FLAGS)

*_XCLANG_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -c -include AutoGen.h
*_XCLANG_*_ASLDLINK_FLAGS = -nostdlib -Wl,-e,_ReferenceAcpiTable,-preload,-segalign,0x20,-pie,-seg1addr,0x260,-read_only_relocs,suppress,-map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_XCLANG_*_ASLPP_FLAGS = DEF(GCC_ASLPP_FLAGS)
*_XCLANG_*_ASL_FLAGS =
*_XCLANG_*_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
*_XCLANG_*_DTCPP_FLAGS = DEF(GCC_DTCPP_FLAGS)
*_XCLANG_*_APP_FLAGS = DEF(GCC_PP_FLAGS)



####################################################################################
#
# RVCT Common
Expand Down
4 changes: 2 additions & 2 deletions FileSystems/GrubFS/grub/grub-core/kern/disk.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ grub_disk_cache_fetch (unsigned long dev_id, unsigned long disk_id,
cache_index = grub_disk_cache_get_index (dev_id, disk_id, sector);
cache = grub_disk_cache_table + cache_index;

if (cache->dev_id == dev_id && cache->disk_id == disk_id
if ((unsigned long)cache->dev_id == dev_id && (unsigned long)cache->disk_id == disk_id
&& cache->sector == sector) {
cache->lock = 1;
#if DISK_CACHE_STATS
Expand All @@ -106,7 +106,7 @@ grub_disk_cache_unlock (unsigned long dev_id, unsigned long disk_id,
cache_index = grub_disk_cache_get_index (dev_id, disk_id, sector);
cache = grub_disk_cache_table + cache_index;

if (cache->dev_id == dev_id && cache->disk_id == disk_id
if ((unsigned long)cache->dev_id == dev_id && (unsigned long)cache->disk_id == disk_id
&& cache->sector == sector) {
cache->lock = 0;
}
Expand Down
2 changes: 1 addition & 1 deletion MdeModulePkg/Library/UefiBootManagerLib/BmConsole.c
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ EfiBootManagerUpdateConsoleVariable (
EFI_DEVICE_PATH_PROTOCOL *NewDevicePath;
EFI_DEVICE_PATH_PROTOCOL *TempNewDevicePath;

if (ConsoleType >= ARRAY_SIZE (mConVarName)) {
if ((UINTN)ConsoleType >= ARRAY_SIZE (mConVarName)) {
return EFI_INVALID_PARAMETER;
}

Expand Down
2 changes: 1 addition & 1 deletion MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c
Original file line number Diff line number Diff line change
Expand Up @@ -805,7 +805,7 @@ EfiBootManagerIsValidLoadOptionVariableName (
//
// Return FALSE when the variable name doesn't start with Driver/SysPrep/Boot/PlatformRecovery.
//
for (LocalOptionType = 0; LocalOptionType < ARRAY_SIZE (mBmLoadOptionName); LocalOptionType++) {
for (LocalOptionType = 0; (UINTN)LocalOptionType < ARRAY_SIZE (mBmLoadOptionName); LocalOptionType++) {
if ((VariableNameLen - 4 == StrLen (mBmLoadOptionName[LocalOptionType])) &&
(StrnCmp (VariableName, mBmLoadOptionName[LocalOptionType], VariableNameLen - 4) == 0)
) {
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

# CloverBootloader
[![CI](https://github.com/CloverHackyColor/CloverBootloader/actions/workflows/main.yml/badge.svg)](https://github.com/CloverHackyColor/CloverBootloader/actions/workflows/main.yml)
[![CI](https://github.com/CloverHackyColor/CloverBootloader/actions/workflows/main.yml/badge.svg)](https://github.com/CloverHackyColor/CloverBootloader/actions/workflows/main.yml) [![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://github.com/CloverHackyColor/CloverBootloader/blob/master/LICENSE)

Bootloader for macOS, Windows and Linux in UEFI and in legacy mode
### Read the DOC [Clover-Documentation](https://github.com/CloverHackyColor/Clover-Documentation) / [Clover-Documentation Site](https://cloverhackycolor.github.io/Clover-Documentation/)
Expand Down Expand Up @@ -35,7 +35,7 @@ Bootloader for macOS, Windows and Linux in UEFI and in legacy mode

### Developers:

* Slice, with help of Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, rehabman, Download-Fritz, nms42, Sherlocks, Zenit432, cecekpawon, stinga11, TheRacerMaster, solstice, Micky1979, Needy, joevt, ErmaC, vit9696, ath, savvas, syscl, goodwin\_c, clovy, jief\_machak, chris1111, vector\_sigma, LAbyOne, Florin9doi, Hnanoto.
* Slice, with help of Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, rehabman, Download-Fritz, nms42, Sherlocks, Zenit432, cecekpawon, stinga11, TheRacerMaster, solstice, Micky1979, Needy, joevt, ErmaC, vit9696, ath, savvas, syscl, goodwin\_c, clovy, jief\_machak, chris1111, vector\_sigma, LAbyOne, Florin9doi, YBronst, Hnanoto.

### Source code credits to:
Intel, Apple, Oracle, Chameleon, rEFIt and Xom, nanosvg.
Expand Down
Loading
Loading