Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [netbsd-10] src/sys/arch/i386/stand
Module Name: src
Committed By: martin
Date: Thu Dec 14 17:56:09 UTC 2023
Modified Files:
src/sys/arch/i386/stand [netbsd-10]: Makefile.booters Makefile.inc
src/sys/arch/i386/stand/bootxx/bootxx_msdos [netbsd-10]: Makefile
src/sys/arch/i386/stand/bootxx/bootxx_ustarfs [netbsd-10]: Makefile
src/sys/arch/i386/stand/dosboot [netbsd-10]: Makefile
Log Message:
Pull up following revision(s) (requested by rin in ticket #498):
sys/arch/i386/stand/dosboot/Makefile: revision 1.35
sys/arch/i386/stand/Makefile.booters: revision 1.95
sys/arch/i386/stand/bootxx/bootxx_msdos/Makefile: revision 1.5
sys/arch/i386/stand/Makefile.inc: revision 1.19
sys/arch/i386/stand/bootxx/bootxx_ustarfs/Makefile: revision 1.4
sys/arch/i386/stand/dosboot/Makefile: revision 1.34
Fix the clang build by setting -z noseparate-code
Merge the OPT_SIZE flags. -Oz is not always producing smaller code that -Os,
so default to -Os for both, and we'll override where needed.
Override these two booters with -Oz for clang since it produces smaller code
here.
x86/dosboot: Allow NULL dereference to fetch command line arguments
DOS command line arguments are provided as struct psp at 0x0000;
see doscommain.c.
Recent versions of gcc and clang are clever enough to optimize code
block involving NULL dereference into ud2 insn.
Sprinkle -fno-delete-null-pointer-checks to doscommain.c to
prevent this behavior.
Note that dosboot.com for netbsd-9 and later was broken due to
this ``over optimization''. gcc 5.5.0 and clang 4.0.0 in netbsd-8
generate correct codes without this workaround.
XXX
Are there still use cases for dosboot.com? Does anyone want to
boot NetBSD from real-mode DOS in 2023?
x86/dosboot: Do not page-align data segment
4K alignment is too heavy burden for COM executable with 64K limit :)
Fix binary size overflow for clang/amd64.
To generate a diff of this commit:
cvs rdiff -u -r1.94 -r1.94.20.1 src/sys/arch/i386/stand/Makefile.booters
cvs rdiff -u -r1.18 -r1.18.30.1 src/sys/arch/i386/stand/Makefile.inc
cvs rdiff -u -r1.4 -r1.4.24.1 \
src/sys/arch/i386/stand/bootxx/bootxx_msdos/Makefile
cvs rdiff -u -r1.3 -r1.3.94.1 \
src/sys/arch/i386/stand/bootxx/bootxx_ustarfs/Makefile
cvs rdiff -u -r1.33 -r1.33.26.1 src/sys/arch/i386/stand/dosboot/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index