On Fri, Feb 13, 2026 at 08:05:00PM -0500, Nicholas Vinson wrote:
> Starting with ld.llvm-21, any attempt create a non-relocatable binary and set
> one more secton addresses below 0x400000 results in a linker error. 
> Furthermore,
> the differences between ld.bfd and ld.lld made finding a proper set of
> command-line flags tht worked with both linkers and bypass the image base
> address restriction difficult. Therefore, the approach of using a custom 
> linker
> script was adopted to solve the issue.
>
> This approach was tested using:
>
> ../configure CC=clang CXX=clang++ LDFLAGS="-fuse-ld=lld" 
> TARGET_LDFLAGS="-fuse-ld=lld" --with-platform=pc
> ../configure CC=clang CXX=clang++ --with-platform=pc (both with ld.lld as the 
> default and ld.bfd as the default)
> ../configure CC=gcc CXX=g++ --with-platform=pc
>
> and a VM was used for testing. To build the disk images the VM was booted 
> with,
> the following scripts were used:

[...]

> In all cases, the VM successfully booted to the standard GRUB prompt.
>
> Nicholas Vinson (9):
>   i386/pc/int.h: conditionally apply regparm attr.
>   grub-core: Update kernel image generation
>   i386-cygwin-img-ld.sc -> i386-cygwin-img.lds
>   Revert "configure: Print a more helpful error if autoconf-archive is
>     not installed"
>   Revert "configure: Check linker for --image-base support"
>   Revert "INSTALL: Add note that the GNU Autoconf Archive may be needed"
>   configure: drop -Ttext checks for i386-pc
>   configure.ac: Add --image-base check for non-i386
>   conf/i386-cygwin-img.lds: Update to use _grub_text_base symbol

Still Windows builds are broken... :-(

  ./configure --build=x86_64-linux-gnu --host=x86_64-w64-mingw32 
--target=x86_64-w64-mingw32 --with-platform=efi --enable-stack-protector
  [...]
  checking whether x86_64-w64-mingw32-objcopy works for absolute addresses... 
configure: error: x86_64-w64-mingw32-gcc cannot link at address 0x2000

The INSTALL file lists compilers packages which are needed to build GRUB
for all architectures and platforms.

Daniel

_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to