aarch64-none-elf-LD.exe prints no failures and creates 0.exe - why?

I spent 3 months converting a lot of code to NVIDA ARM64 but I have yet to get Arm14

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

ARM64: YES
UTILENTRY: fUtilEntry
MYDIR: acpiChk OUTDIR:ARM64 UTILNAME:acpiChkARM64
** Building Dependency list for ARM64 **
        if not exist ARM64 md ARM64
        if not exist ARM64\depend.mak echo ARM64\depend.mak not found
OBJSDIR: ARM64, DEPFILE: ARM64\depend.mak
LIBINC: -I. -I.. -I..\..\EPSA\API -I..\..\EPSA\BEDROCK -I..\..\EPSA\UI -I..\..\EPSA\MODULES -I..\..\EPSA\MODULES\MEMORY -I..\..\EPSA\ERRCODES -I..\..\EPSA\libs\CPULIB -I..\..\EPSA\libs\PSALIB -I..\..\EPSA\libs\PSALIB\EFI -I..\..\EPSA\libs\VESALIB -I..\..\EPSA\libs\INTLIB -I..\..\EPSA\libs\KBDLIB -I..\..\EPSA\libs\HDWLIB -I..\..\EPSA\libs\QrLib -I..\..\EPSA\libs\TIMELIB -I..\..\EPSA\libs\PEGLIB -I..\..\EPSA\libs\UEFILIB -I..\..\EPSA\libs\USBLIB -I..\..\EPSA\libs\SelfHealLib -I..\..\EPSA\libs\SmaLib -I..\..\EPSA\..\addf\libs\addf -I..\..\EPSA\..\addf\Cables -I..\..\EPSA\..\addf\LIBS\BIOSTESTINTERFACE -I..\..\EPSA\..\addf\LIBS\PCI -I..\..\EPSA\..\addf\LIBS\ACPILIB -I..\..\EPSA\..\addf\LIBS\ADDF_SM -I..\..\EPSA\..\addf\LIBS\SAL -I..\..\EPSA\..\addf\LIBS\SMBIOS -I..\..\EPSA\..\addf\DDDRIVER -I..\..\EPSA\..\addf\LIBS\IPMI -I..\..\EPSA\..\addf\LIBS\DIAGSTRING -I..\..\EPSA\..\addf\LIBS\MANAGEDRVR -I..\..\EPSA\..\addf\LIBS\RCILIB -I..\..\EPSA\..\addf\LIBS\Disk -I..\..\EPSA\libs\MPLIB -I..\..\EPSA\MODULES\MPMEMORY
.
        c:\tc3\delldiags\source\tools\utils\makedep2.exe -c -n -oARM64\depend.mak -I.  -I..  -I..\..\EPSA\API  -I..\..\EPSA\BEDROCK  -I..\..\EPSA\UI  -I..\..\EPSA\MODULES  -I..\..\EPSA\MODULES\MEMORY  -I..\..\EPSA\ERRCODES  -I..\..\EPSA\libs\CPULIB  -I..\..\EPSA\libs\PSALIB  -I..\..\EPSA\libs\PSALIB\EFI  -I..\..\EPSA\libs\VESALIB  -I..\..\EPSA\libs\INTLIB  -I..\..\EPSA\libs\KBDLIB  -I..\..\EPSA\libs\HDWLIB  -I..\..\EPSA\libs\QrLib  -I..\..\EPSA\libs\TIMELIB  -I..\..\EPSA\libs\PEGLIB  -I..\..\EPSA\libs\UEFILIB  -I..\..\EPSA\libs\USBLIB  -I..\..\EPSA\libs\SelfHealLib  -I..\..\EPSA\libs\SmaLib  -I..\..\EPSA\..\addf\libs\addf  -I..\..\EPSA\..\addf\Cables  -I..\..\EPSA\..\addf\LIBS\BIOSTESTINTERFACE  -I..\..\EPSA\..\addf\LIBS\PCI  -I..\..\EPSA\..\addf\LIBS\ACPILIB  -I..\..\EPSA\..\addf\LIBS\ADDF_SM  -I..\..\EPSA\..\addf\LIBS\SAL  -I..\..\EPSA\..\addf\LIBS\SMBIOS  -I..\..\EPSA\..\addf\DDDRIVER  -I..\..\EPSA\..\addf\LIBS\IPMI  -I..\..\EPSA\..\addf\LIBS\DIAGSTRING  -I..\..\EPSA\..\addf\LIBS\MANAGEDRVR  -I..\..\EPSA\..\addf\LIBS\RCILIB  -I..\..\EPSA\..\addf\LIBS\Disk  -I..\..\EPSA\libs\MPLIB  -I..\..\EPSA\MODULES\MPMEMORY -s. -s..\..\EPSA\libs\acpilib -s. -s. ARM64\acpiChk.obj  ARM64\acpilib.obj
c:\tc3\delldiags\source\tools\utils\makedep2.exe created ARM64\depend.mak
        C:\gcc\Arm14.3.1\bin\aarch64-none-elf-gcc.exe -Dlang_english -D DELL_CODE -D DD_PSA -D SWIPT_DELL_CODE -D DD_EFI -D _M_ARM -D DD_ARM64 -D X64 -D AMD64 -D DD_NO_EFILIB -D _CRT_SECURE_NO_WARNINGS -D _CRT_NONSTDC_NO_WARNINGS -c -MMD -Wno-pragmas -nostdlib                -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -I c:\tc3\delldiags\source\tools\EFI_ToolKit_2.0\include\efi110\EM64T -I c:\tc3\delldiags\source\tools\efiEDK -I c:\tc3\delldiags\source\tools\EFI_ToolKit_2.0\include\efi110 -I -I.  -I..  -I..\..\EPSA\API  -I..\..\EPSA\BEDROCK  -I..\..\EPSA\UI  -I..\..\EPSA\MODULES  -I..\..\EPSA\MODULES\MEMORY  -I..\..\EPSA\ERRCODES  -I..\..\EPSA\libs\CPULIB  -I..\..\EPSA\libs\PSALIB  -I..\..\EPSA\libs\PSALIB\EFI  -I..\..\EPSA\libs\VESALIB  -I..\..\EPSA\libs\INTLIB  -I..\..\EPSA\libs\KBDLIB  -I..\..\EPSA\libs\HDWLIB  -I..\..\EPSA\libs\QrLib  -I..\..\EPSA\libs\TIMELIB  -I..\..\EPSA\libs\PEGLIB  -I..\..\EPSA\libs\UEFILIB  -I..\..\EPSA\libs\USBLIB  -I..\..\EPSA\libs\SelfHealLib  -I..\..\EPSA\libs\SmaLib  -I..\..\EPSA\..\addf\libs\addf  -I..\..\EPSA\..\addf\Cables  -I..\..\EPSA\..\addf\LIBS\BIOSTESTINTERFACE  -I..\..\EPSA\..\addf\LIBS\PCI  -I..\..\EPSA\..\addf\LIBS\ACPILIB  -I..\..\EPSA\..\addf\LIBS\ADDF_SM  -I..\..\EPSA\..\addf\LIBS\SAL  -I..\..\EPSA\..\addf\LIBS\SMBIOS  -I..\..\EPSA\..\addf\DDDRIVER  -I..\..\EPSA\..\addf\LIBS\IPMI  -I..\..\EPSA\..\addf\LIBS\DIAGSTRING  -I..\..\EPSA\..\addf\LIBS\MANAGEDRVR  -I..\..\EPSA\..\addf\LIBS\RCILIB  -I..\..\EPSA\..\addf\LIBS\Disk  -I..\..\EPSA\libs\MPLIB  -I..\..\EPSA\MODULES\MPMEMORY -I c:\tc3\delldiags\source\tools\EFI_ToolKit_2.0\include\efiShell -I c:\tc3\delldiags\source\tools\EFI_ToolKit_2.0\include\efiShell2 -fms-extensions -fmax-errors=10 -Wformat=1 -Wno-array-bounds -fno-common -ffunction-sections -fdata-sections -mlittle-endian -fno-short-enums -funsigned-char -fdata-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-pic -fno-pie -ffixed-x18 -mcmodel=small -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-error=comment -Wno-comment -Wno-unused-function -Wno-missing-braces -D HAVE_CONFIG_H -D VER=  -D OS_AVAILABLE -D DD_BATCH -D "DD_EFIUTIL" -fno-rtti -fno-exceptions -fno-threadsafe-statics -D "DD_EFIUTIL" -oarm64\acpichk.obj .\acpichk.cpp
        C:\gcc\Arm14.3.1\bin\aarch64-none-elf-gcc.exe -Dlang_english -D DELL_CODE -D DD_PSA -D SWIPT_DELL_CODE -D DD_EFI -D _M_ARM -D DD_ARM64 -D X64 -D AMD64 -D DD_NO_EFILIB -D _CRT_SECURE_NO_WARNINGS -D _CRT_NONSTDC_NO_WARNINGS -c -MMD -Wno-pragmas -nostdlib                -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -I c:\tc3\delldiags\source\tools\EFI_ToolKit_2.0\include\efi110\EM64T -I c:\tc3\delldiags\source\tools\efiEDK -I c:\tc3\delldiags\source\tools\EFI_ToolKit_2.0\include\efi110 -I -I.  -I..  -I..\..\EPSA\API  -I..\..\EPSA\BEDROCK  -I..\..\EPSA\UI  -I..\..\EPSA\MODULES  -I..\..\EPSA\MODULES\MEMORY  -I..\..\EPSA\ERRCODES  -I..\..\EPSA\libs\CPULIB  -I..\..\EPSA\libs\PSALIB  -I..\..\EPSA\libs\PSALIB\EFI  -I..\..\EPSA\libs\VESALIB  -I..\..\EPSA\libs\INTLIB  -I..\..\EPSA\libs\KBDLIB  -I..\..\EPSA\libs\HDWLIB  -I..\..\EPSA\libs\QrLib  -I..\..\EPSA\libs\TIMELIB  -I..\..\EPSA\libs\PEGLIB  -I..\..\EPSA\libs\UEFILIB  -I..\..\EPSA\libs\USBLIB  -I..\..\EPSA\libs\SelfHealLib  -I..\..\EPSA\libs\SmaLib  -I..\..\EPSA\..\addf\libs\addf  -I..\..\EPSA\..\addf\Cables  -I..\..\EPSA\..\addf\LIBS\BIOSTESTINTERFACE  -I..\..\EPSA\..\addf\LIBS\PCI  -I..\..\EPSA\..\addf\LIBS\ACPILIB  -I..\..\EPSA\..\addf\LIBS\ADDF_SM  -I..\..\EPSA\..\addf\LIBS\SAL  -I..\..\EPSA\..\addf\LIBS\SMBIOS  -I..\..\EPSA\..\addf\DDDRIVER  -I..\..\EPSA\..\addf\LIBS\IPMI  -I..\..\EPSA\..\addf\LIBS\DIAGSTRING  -I..\..\EPSA\..\addf\LIBS\MANAGEDRVR  -I..\..\EPSA\..\addf\LIBS\RCILIB  -I..\..\EPSA\..\addf\LIBS\Disk  -I..\..\EPSA\libs\MPLIB  -I..\..\EPSA\MODULES\MPMEMORY -I c:\tc3\delldiags\source\tools\EFI_ToolKit_2.0\include\efiShell -I c:\tc3\delldiags\source\tools\EFI_ToolKit_2.0\include\efiShell2 -fms-extensions -fmax-errors=10 -Wformat=1 -Wno-array-bounds -fno-common -ffunction-sections -fdata-sections -mlittle-endian -fno-short-enums -funsigned-char -fdata-sections -Wno-address -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-pic -fno-pie -ffixed-x18 -mcmodel=small -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-error=comment -Wno-comment -Wno-unused-function -Wno-missing-braces -D HAVE_CONFIG_H -D VER=  -D OS_AVAILABLE -D DD_BATCH -D "DD_EFIUTIL" -fno-rtti -fno-exceptions -fno-threadsafe-statics -D "DD_EFIUTIL" -oarm64\acpilib.obj ..\..\EPSA\libs\acpilib\acpilib.cpp
KLUDGE: Don't append objects.txt with: ARM64\acpiChk.obj ARM64\acpilib.obj
** Building ARM64\acpiChk.obj ARM64\acpilib.obj **
        cd ..\lib
        nmake BLD_ENV=EFI_ARM64

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

OUTDIR: ARM64, BLD_ENV: EFI_ARM64, LIBEXE: C:\gcc\Arm14.3.1\bin\aarch64-none-elf-ar.exe
makefile all:
NORMAL: Append objects.txt: ARM64\utilEntry.obj ARM64\efiLibReplacement.obj ARM64\efiRtLib.obj ARM64\getkeyscan.obj ARM64\math.obj ARM64\memfn.obj ARM64\rtdata.obj ARM64\rtstr.obj ARM64\uldata.obj ARM64\uldpath.obj ARM64\ulerror.obj ARM64\ulevent.obj ARM64\ulguid.obj ARM64\ulprint.obj ARM64\ulmisc.obj ARM64\ulstr.obj
** Building ARM64\utilEntry.obj ARM64\efiLibReplacement.obj ARM64\efiRtLib.obj ARM64\getkeyscan.obj ARM64\math.obj ARM64\memfn.obj ARM64\rtdata.obj ARM64\rtstr.obj ARM64\uldata.obj ARM64\uldpath.obj ARM64\ulerror.obj ARM64\ulevent.obj ARM64\ulguid.obj ARM64\ulprint.obj ARM64\ulmisc.obj ARM64\ulstr.obj **
        C:\gcc\Arm14.3.1\bin\aarch64-none-elf-ar.exe -rc libARM64.lib ARM64\utilEntry.obj  ARM64\efiLibReplacement.obj  ARM64\efiRtLib.obj    ARM64\getkeyscan.obj  ARM64\math.obj        ARM64\memfn.obj       ARM64\rtdata.obj      ARM64\rtstr.obj       ARM64\uldata.obj      ARM64\uldpath.obj     ARM64\ulerror.obj     ARM64\ulevent.obj     ARM64\ulguid.obj      ARM64\ulprint.obj     ARM64\ulmisc.obj      ARM64\ulstr.obj
        cd ..\acpiChk
        type ARM64\objects.txt
ARM64\acpiChk.obj ARM64\acpilib.obj
        type ARM64\response.lnk
ARM64/acpiChk.obj ARM64/acpilib.obj
../lib/libARM64.lib
        del 0 0.exe
C:\gcc\Arm14.3.1\bin\aarch64-none-elf-ld.exe --verbose --entry fUtilEntry -static @ARM64\response.lnk -force-exe-suffix -o psa.exe -m aarch64elf -nostdlib -o0 -v
        C:\gcc\Arm14.3.1\bin\aarch64-none-elf-ld.exe --verbose --entry fUtilEntry -static @ARM64\response.lnk -force-exe-suffix -o psa.exe -m aarch64elf -nostdlib -o0 -v
GNU ld (Arm GNU Toolchain 14.3.Rel1 (Build arm-14.174)) 2.44.0.20250616
  Supported emulations:
   aarch64elf
   aarch64elf32
   aarch64elf32b
   aarch64elfb
   armelf
   armelfb
   aarch64linux
   aarch64linuxb
   aarch64linux32
   aarch64linux32b
   armelfb_linux_eabi
   armelf_linux_eabi
GNU ld (Arm GNU Toolchain 14.3.Rel1 (Build arm-14.174)) 2.44.0.20250616
using internal linker script:
==================================================
/* Script for -z combreloc */
/* Copyright (C) 2014-2025 Free Software Foundation, Inc.
   Copying and distribution of this script, with or without modification,
   are permitted in any medium without royalty provided the copyright
   notice and this notice are preserved.  */
OUTPUT_FORMAT("elf64-littleaarch64", "elf64-bigaarch64", "elf64-littleaarch64")
OUTPUT_ARCH(aarch64)
ENTRY(_start)
SEARCH_DIR("=//aarch64-none-elf/lib"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x00400000));
  . = SEGMENT_START("text-segment", 0x00400000);
  /* Place the build-id as close to the ELF headers as possible.  This
     maximises the chance the build-id will be present in core files,
     which GDB can then use to locate the associated debuginfo file.  */
  .note.gnu.build-id  : { *(.note.gnu.build-id) }
  .interp         : { *(.interp) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ifunc)
    }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .relr.dyn : { *(.relr.dyn) }
  /* Start of the executable code region.  */
  .init           :
  {
    KEEP (*(SORT_NONE(.init)))
  } =0x1f2003d5
  .plt            : { *(.plt) *(.iplt) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely .text.unlikely.*)
    *(.text.exit .text.exit.*)
    *(.text.startup .text.startup.*)
    *(.text.hot .text.hot.*)
    *(SORT(.text.sorted.*))
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf.em.  */
    *(.gnu.warning)
  } =0x1f2003d5
  .fini           :
  {
    KEEP (*(SORT_NONE(.fini)))
  } =0x1f2003d5
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  /* Start of the Read Only Data region.  */
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr   : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) }
  .sframe         : ONLY_IF_RO { *(.sframe) *(.sframe.*) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  .gnu_extab   : ONLY_IF_RO { *(.gnu_extab*) }
  /* These sections are generated by the Sun/Oracle C++ compiler.  */
  .exception_ranges   : ONLY_IF_RO { *(.exception_ranges*) }
  /* Various note sections.  Placed here so that they are always included
     in the read-only segment and not treated as orphan sections.  The
     current orphan handling algorithm does place note sections after R/O
     data, but this is not guaranteed to always be the case.  */
  .note.build-id :      { *(.note.build-id) }
  .note.GNU-stack :     { *(.note.GNU-stack) }
  .note.gnu-property :  { *(.note.gnu-property) }
  .note.ABI-tag :       { *(.note.ABI-tag) }
  .note.package :       { *(.note.package) }
  .note.dlopen :        { *(.note.dlopen) }
  .note.netbsd.ident :  { *(.note.netbsd.ident) }
  .note.openbsd.ident : { *(.note.openbsd.ident) }
  /* Start of the Read Write Data region.  */
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1));
  /* Exception handling.  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) }
  .sframe         : ONLY_IF_RW { *(.sframe) *(.sframe.*) }
  .gnu_extab      : ONLY_IF_RW { *(.gnu_extab) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  .exception_ranges   : ONLY_IF_RW { *(.exception_ranges*) }
  /* Thread Local Storage sections.  */
  .tdata          :
   {
     PROVIDE_HIDDEN (__tdata_start = .);
     *(.tdata .tdata.* .gnu.linkonce.td.*)
   }
  .tbss           : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array    :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array    :
  {
    PROVIDE_HIDDEN (__init_array_start = .);
    KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
    KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
    PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array    :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  .got.plt        : { *(.got.plt) *(.igot.plt) }
  .data           :
  {
    __data_start = .;
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .;
  PROVIDE (edata = .);
  . = ALIGN(ALIGNOF(NEXT_SECTION));
  __bss_start = .;
  __bss_start__ = .;
  .bss            :
  {
    *(.dynbss)
    *(.bss .bss.* .gnu.linkonce.b.*)
    *(COMMON)
    /* Align here to ensure that in the common case of there only being one
       type of .bss section, the section occupies space up to _end.
       Align after .bss to ensure correct alignment even if the
       .bss section disappears because there are no input sections.
       FIXME: Why do we need it? When there is no .bss section, we do not
       pad the .data section.  */
      . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  _bss_end__ = .; __bss_end__ = .;
  . = ALIGN(64 / 8);
  /* Start of the Large Data region.  */
  . = SEGMENT_START("ldata-segment", .);
  . = ALIGN(64 / 8);
  __end__ = .;
  _end = .;
  PROVIDE (end = .);
  /* Start of the Tiny Data region.  */
  /* Stack.  */
  .stack         0x80000 :
  {
    _stack = .;
    *(.stack)
  }
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment 0 (INFO) : { *(.comment); LINKER_VERSION; }
  .gnu.build.attributes : { *(.gnu.build.attributes .gnu.build.attributes.*) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1.  */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions.  */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2.  */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2.  */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line .debug_line.* .debug_line_end) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions.  */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3.  */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  /* DWARF 5.  */
  .debug_addr     0 : { *(.debug_addr) }
  .debug_line_str 0 : { *(.debug_line_str) }
  .debug_loclists 0 : { *(.debug_loclists) }
  .debug_macro    0 : { *(.debug_macro) }
  .debug_names    0 : { *(.debug_names) }
  .debug_rnglists 0 : { *(.debug_rnglists) }
  .debug_str_offsets 0 : { *(.debug_str_offsets) }
  .debug_sup      0 : { *(.debug_sup) }
  .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }
  .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) *(.gnu_object_only) }
}


==================================================
C:\gcc\Arm14.3.1\bin\aarch64-none-elf-ld.exe: mode aarch64elf
attempt to open ARM64/acpiChk.obj succeeded
ARM64/acpiChk.obj
attempt to open ARM64/acpilib.obj succeeded
ARM64/acpilib.obj
attempt to open ../lib/libARM64.lib succeeded
../lib/libARM64.lib
(../lib/libARM64.lib)utilEntry.obj
(../lib/libARM64.lib)efiLibReplacement.obj
(../lib/libARM64.lib)memfn.obj
(../lib/libARM64.lib)uldata.obj
(../lib/libARM64.lib)ulguid.obj
(../lib/libARM64.lib)ulprint.obj
(../lib/libARM64.lib)ulmisc.obj
(../lib/libARM64.lib)ulstr.obj
(../lib/libARM64.lib)efiRtLib.obj
(../lib/libARM64.lib)math.obj
(../lib/libARM64.lib)rtdata.obj
(../lib/libARM64.lib)rtstr.obj
(../lib/libARM64.lib)uldpath.obj
(../lib/libARM64.lib)ulerror.obj
(../lib/libARM64.lib)ulevent.obj
        del ARM64\objects.txt
        del ARM64\response.lnk
ERROR: acpiChkARM64.exe did not seem to be created?
NOTE: 0.exe found instead of acpiChkARM64.exe
        del acpiChkARM64.exe
Could Not Find c:\tc3\delldiags\source\src\efiUtils\acpiChk\acpiChkARM64.exe
 Volume in drive C is OS
 Volume Serial Number is 8811-4581

 Directory of c:\tc3\delldiags\source\src\efiUtils\acpiChk

08/29/2025  09:30 AM            26,560 acpiChkx64.efi
               1 File(s)         26,560 bytes
               0 Dir(s)  31,889,190,912 bytes free
c:\tc3\delldiags\source\src\efiUtils\acpiChk> (cls& all arm64 -a)
.3.1\bin\aarch64-none-elf-L
Script: names arm64 0.exe
 
    Decode Symbol Value https://sourceware.org/binutils/docs/binutils/nm.html 
      Lowercase - usually local
      Uppercase - global (external)
                 B   BSS .data section
                 C   Common symbol
                 D   Initialize data section
                 R   Read-only data section
                 T   .text code
                 U   undefined
                 W   Weak Symbol

0000000000417a50 B __bss_end__
00000000004179b8 B __bss_start
00000000004179b8 B __bss_start__
00000000004171d8 D __data_start
0000000000417a50 B __end__
0000000000417a50 B _bss_end__
0000000000401324 T _DbgOut
0000000000403c8c T _DevPath1394
0000000000403af4 T _DevPathAcpi
0000000000403c30 T _DevPathAtapi
00000000004042a4 T _DevPathBssBss
0000000000404274 T _DevPathCDROM
0000000000403ae4 T _DevPathController
00000000004042e0 T _DevPathEndInstance
0000000000403c7c T _DevPathFibre
0000000000404284 T _DevPathFilePath
00000000004041e8 T _DevPathHardDrive
0000000000403e94 T _DevPathI2O
0000000000403fdc T _DevPathInfiniBand
0000000000403f30 T _DevPathIPv4
0000000000403f50 T _DevPathIPv6
0000000000403ea4 T _DevPathMacAddr
0000000000404294 T _DevPathMediaProtocol
0000000000403ad0 T _DevPathMemMap
00000000004042ec T _DevPathNodeUnknown
0000000000403ac0 T _DevPathPccard
0000000000403aac T _DevPathPci
0000000000403c68 T _DevPathScsi
0000000000404a04 T _DevPathToTexAcpiEx
0000000000403ba0 T _DevPathToTextAcpiAdr
0000000000404104 T _DevPathToTextiSCSI
0000000000403cd8 T _DevPathToTextLogicalUnit
0000000000403e7c T _DevPathToTextSata
0000000000403cb0 T _DevPathToTextUsbWWID
0000000000403ff8 T _DevPathUart
0000000000403c9c T _DevPathUsb
0000000000403ce8 T _DevPathUsbClass
00000000004042f8 T _DevPathVendor
00000000004179b8 D _edata
0000000000417a50 B _end
000000000040215c T _IPrint
0000000000402010 T _PoolCatPrint
00000000004013d8 T _PoolPrint
0000000000401b40 T _Print
000000000040134c T _SPrint
0000000000080000 N _stack
0000000000400c90 T _Z13fAcpiChecksumPvm
0000000000400d40 T _Z15fAcpiLocateRSDPv
0000000000400c6c T _Z17fAcpiDebugMessagePcz
0000000000400ed4 T _Z18fGetSmiPortViaACPIv
0000000000400cbc T _Z21fAcpiScanBlockForRSDPmi
0000000000400010 T _Z5fAPICR16_sSysTableHeader
0000000000400734 T _Z5fFACPR16_sSysTableHeader
0000000000400000 T _Z5fHPETR16_sSysTableHeader
00000000004000a8 T _Z5fNFITR16_sSysTableHeader
0000000000400864 T _Z5fUEFIR16_sSysTableHeader
0000000000400020 T _Z5fWSMTR16_sSysTableHeader
00000000004010f4 T _Z8fToLowerc
0000000000401114 T _Z8fToUpperc
0000000000400600 T _Z9fDumpMemIPvii
00000000004012a8 T _ZdaPv
00000000004012b8 T _ZdaPvm
000000000040129c T _ZdlPv
00000000004012ac T _ZdlPvm
00000000004179b8 b _ZL10gLimitDump
0000000000401298 T _Znam
0000000000401294 T _Znwm
00000000004179bc b _ZZ18fGetSmiPortViaACPIvE8portAddr
0000000000417238 d _ZZ5fUEFIR16_sSysTableHeaderE7smmGuid
00000000004070e0 r _ZZ9fDumpMemIPviiE4hexa
0000000000417328 D AbsolutePointerProtocol
0000000000417408 D Acpi20TableGuid
0000000000417268 D AcpiTableGuid
0000000000402454 T AllocatePool
0000000000402490 T AllocateZeroPool
000000000040453c T AppendDevicePath
0000000000404848 T AppendDevicePathInstance
0000000000404634 T AppendDevicePathNode
000000000040241c T APrint
0000000000403774 T Atoi
00000000004029d4 T BCDtoDecimal
00000000004173b8 D BisProtocolGuid
00000000004174e8 D BlockIoProtocol
00000000004179c8 B BS
0000000000417398 D BusSpecificDriverOverrideProtocol
0000000000402120 T CatPrint
00000000004012c0 T CompareGuid
0000000000402550 T CompareMem
00000000004173a8 D ComponentNameProtocol
000000000040254c T CopyMem
00000000004071d0 r CSWTCH.56
00000000004071a0 r CSWTCH.63
0000000000407180 r CSWTCH.67
0000000000401f24 T DbgPrint
00000000004029d0 T DecimaltoBCD
0000000000417388 D DecompressProtocol
00000000004174a8 D DeviceIoProtocol
00000000004043a8 T DevicePathFromHandle
00000000004043e0 T DevicePathInstance
0000000000404474 T DevicePathInstanceCount
0000000000417528 D DevicePathProtocol
00000000004044b0 T DevicePathSize
0000000000404c0c T DevicePathToStr
0000000000404c14 T DevicePathToStrFirst
0000000000404acc T DevicePathToStrInternal
00000000004175c8 D DevPathTable
0000000000401654 T DisablePageBreak
00000000004174d8 D DiskIoProtocol
00000000004039b8 T DivU64x32
00000000004173f8 D DriverBindingProtocol
0000000000417378 D DriverConfigurationProtocol
0000000000417368 D DriverDiagnosticsProtocol
0000000000402264 T DumpHex
00000000004044e8 T DuplicateDevicePath
0000000000417358 D EbcProtocol
00000000004175c0 D EFIDebug
0000000000417538 D EfiGlobalVariable
000000000040499c T EisaIdToText
00000000004015ec T EnablePageBreak
000000000041754c D EndDevicePath
0000000000417548 D EndInstanceDevicePath
00000000004177d8 D ErrorCodeTable
0000000000400dc0 T fAcpiLocateDescTable
00000000004010d8 T fFree
00000000004046ac T FileDevicePath
00000000004172c8 D FileSystemInfo
00000000004174c8 D FileSystemProtocol
00000000004172b8 D FileSystemVolumeLabelInfo
0000000000400c88 T fLongSignature
000000000040178c T FlushWithPageBreak
00000000004011d8 T fMalloc
00000000004024c4 T FreePool
0000000000400f20 T fUtilEntry
000000000040337c T fwcToUpper
00000000004172d8 D GenericFileInfo
0000000000401668 T GetPageBreak
0000000000402554 T GrowBuffer
00000000004179e8 B GuidList
00000000004012c4 T GuidToString
00000000004175ac D Hex
00000000004012bc T InitializeGuid
00000000004010b8 T InitializeLib
00000000004023b8 T IPrint
00000000004023e8 T IPrintAt
0000000000404d24 T LibCreateProtocolNotifyEvent
000000000040272c T LibDeleteVariable
0000000000404908 T LibDevicePathToInterface
0000000000404c84 T LibDuplicateDevicePathInstance
0000000000417a48 B LibFwInstance
00000000004031d8 T LibGetChildControllerHandles
0000000000403034 T LibGetHandleDatabaseSubset
00000000004031b4 T LibGetManagedChildControllerHandles
00000000004031c4 T LibGetManagedControllerHandles
0000000000403184 T LibGetManagingDriverBindingHandles
000000000040319c T LibGetParentControllerHandles
00000000004029d8 T LibGetSystemConfigurationTable
0000000000402a68 T LibGetUiString
0000000000402714 T LibGetVariable
000000000040268c T LibGetVariableAndSize
00000000004027a0 T LibInsertToTailOfBootOrder
0000000000404c1c T LibMatchDevicePaths
00000000004025f0 T LibMemoryMap
0000000000417a40 B LibRuntimeDebugOut
0000000000417a38 B LibRuntimeRaiseTPL
0000000000417a30 B LibRuntimeRestoreTPL
0000000000402b18 T LibScanHandleDatabase
00000000004038ac T LibStubMetaiMatch
0000000000403528 T LibStubStriCmp
000000000040358c T LibStubStrLwrUpr
0000000000417570 D LibStubUnicodeInterface
0000000000417518 D LoadedImageProtocol
00000000004174b8 D LoadFileProtocol
00000000004039a0 T LShiftU64
0000000000401258 T memcmp
000000000040122c T memcpy
00000000004011b8 T memset
00000000004038b8 T MetaiMatch
00000000004037a4 T MetaMatch
00000000004179f8 b mPrintMode
0000000000417278 D MpsTableGuid
00000000004039b0 T MultU64x32
000000000040094c T myMain
0000000000417448 D NetworkInterfaceIdentifierProtocol
00000000004179d8 B NullGuid
00000000004172a8 D PcAnsiProtocol
00000000004173c8 D PciIoProtocol
00000000004173d8 D PciRootBridgeIoProtocol
00000000004018e0 T PFLUSH
0000000000401454 T PGETC
0000000000401a28 T PITEM
00000000004173e8 D PlatformDriverOverrideProtocol
00000000004175a8 D PoolAllocationType
00000000004020e4 T PoolPrint
000000000040198c T PPUTC
000000000040222c T Print
0000000000402388 T PrintAt
0000000000402364 T Printv
0000000000401948 T PSETATTR
0000000000417468 D PxeBaseCodeProtocol
0000000000417458 D PxeCallbackProtocol
00000000004024d8 T ReallocatePool
0000000000417550 D RootDevicePath
0000000000417558 D RootDevicePathTemp
00000000004171d8 D rsdtFmt
00000000004039a8 T RShiftU64
00000000004179c0 B RT
0000000000403a78 T RtBCDtoDecimal
000000000040396c T RtCompareGuid
0000000000403934 T RtCompareMem
0000000000403914 T RtCopyMem
0000000000403a94 T RtDecimaltoBCD
00000000004038f4 T RtSetMem
0000000000403a18 T RtStrCat
00000000004039d0 T RtStrCmp
00000000004039f8 T RtStrCpy
0000000000403a44 T RtStrLen
0000000000403a60 T RtStrSize
00000000004038d8 T RtZeroMem
0000000000417248 D SalSystemTableGuid
0000000000417348 D ScsiPassThruProtocol
0000000000417488 D SerialIoProtocol
0000000000402548 T SetMem
0000000000401674 T SetPageBreak
0000000000417478 D SimpleNetworkProtocol
0000000000417338 D SimplePointerProtocol
00000000004034a0 T SiStr
0000000000417258 D SMBIOSTableGuid
0000000000402060 T SPrint
000000000040342c T SStr
00000000004179d0 B ST
0000000000404cf4 T StatusToString
00000000004035e4 T StrCat
000000000040332c T StrCmp
000000000040367c T strcmpa
00000000004035e0 T StrCpy
0000000000403618 T StrDuplicate
0000000000403590 T StriCmp
0000000000403610 T StrLen
0000000000403660 T strlena
00000000004035b0 T StrLwr
0000000000401134 T strncmp
0000000000403330 T StrnCmp
00000000004036a4 T strncmpa
000000000040339c T StrniCmp
0000000000403614 T StrSize
00000000004035c8 T StrUpr
0000000000417508 D TextInProtocol
00000000004174f8 D TextOutProtocol
00000000004020a4 T TimeToString
000000000040128c T tolower
0000000000401290 T toupper
0000000000417318 D UgaDrawProtocol
0000000000417308 D UgaIoProtocol
0000000000417438 D UiProtocol
0000000000417498 D UnicodeCollationProtocol
0000000000417568 D UnicodeInterface
0000000000417288 D UnknownDevice
0000000000404754 T UnpackDevicePath
00000000004172e8 D UsbHcProtocol
00000000004172f8 D UsbIoProtocol
000000000040288c T ValidMBR
0000000000401568 T ValueToHex
000000000040147c T ValueToString
0000000000417428 D Vt100PlusProtocol
0000000000417298 D Vt100Protocol
0000000000417418 D VtUtf8Protocol
0000000000404e74 T WaitForEventWithTimeout
0000000000404d90 T WaitForSingleEvent
00000000004035ec T wcscpy
00000000004035e8 T wcslen
00000000004036f4 T xtoi
0000000000402544 T ZeroMem
D.exe to create an executable. I worked thru the all the link errors and it prints nothing unless I add --verbose and everything it prints seems like everything is OK, but the cmdline I specified is supposed to create acpiChkARM64.exe but all it does is create identical files 0 and 0.exe. I running from windows: C:\gcc\Arm14.3.1\bin\aarch64-none-elf-ld.exe --verbose --entry fUtilEntry -static @ARM64\response.lnk -force-exe-suffix -o psa.exe -m aarch64elf -nostdlib -o0 -v

0_arm64_names.txt is for 0.exe