Tuğrul Akyüz via Gcc-help kirjoitti 31.7.2023 klo 10.07:
Hello
I built a GNU toolchain using the main parameter below:
build=i686-w64-mingw32
host=i686-w64-mingw32
target=x86_64-pc-elf
I used GCC 11.3 , binutil 2.40 and newlib 4.3.0
I created executives with prefix x86_64-pc-elf-...exe
D:\MinGWCompUpdates\msys\1.0\build\x86_64-pc-elf_11.3.0_odk\x86_64-pc-elf\newlib\x86_64-pc-elf\x32\pic\newlib/../../../../../../newlib-4.3.0/newlib/libc/stdlib/abort.c:59:
undefined reference to `_exit'
D:\MinGWCompUpdates\msys\1.0\build\x86_64-pc-elf_11.3.0_odk\x86_64-pc-elf\newlib\x86_64-pc-elf\x32\pic\newlib/../../../../../../newlib-4.3.0/newlib/libc/reent/fstatr.c:55:
undefined reference to `fstat'
D:\MinGWCompUpdates\msys\1.0\build\x86_64-pc-elf_11.3.0_odk\x86_64-pc-elf\newlib\x86_64-pc-elf\x32\pic\newlib/../../../../../../newlib-4.3.0/newlib/libc/reent/isattyr.c:52:
undefined reference to `isatty'
A simple question for this case is : What is the x86_64 firmware/board
you expect the executables being made?
Newlib has the hardware/firmware dependent things collected in the
"libgloss" library, "glue library" and the undefined functions
should be in it for different hardware/firmware choices. The 32-bit
'i*86-elf' target used to have nothing as default, I don't know
whether the 64-bit 'x86_64-elf' now has some "development board" with a
known firmware as the default. Like a mainboard in a PC
with the BIOS or something in solid memory providing basic input/output
routines.
OK, I had only the newlib-4.1.0 sources now and there was no 'x86_64'
subdir in its libgloss sources. The 'i386' one seemed to
have support for the Cygnus "Cygmon" firmware monitor :
"/*
* Standard x86 syscalls for user programs running under Cygmon
*
* Copyright (c) 1998, 2000 Cygnus Support
*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose,
provided
* that existing copyright notices are retained in all copies and that this
* notice is included verbatim in any distributions. No written agreement,
* license, or royalty fee is required for any of the authorized uses.
* Modifications to this software may be copyrighted by their authors
* and need not follow the licensing terms described here, provided that
* the new terms are clearly indicated on the first page of each file where
* they apply.
*/"