Subject: toolchain/19265: Recent toolchain changes break "grub" package
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthias Scheler <tron@colwyn.zhadum.de>
List: netbsd-bugs
Date: 12/04/2002 15:56:31
>Number: 19265
>Category: toolchain
>Synopsis: Recent toolchain changes break "grub" package
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: toolchain-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 04 06:57:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:
>Release: NetBSD 1.6K (2002-12-03 sources)
>Organization:
Matthias Scheler http://scheler.de/~matthias/
>Environment:
System: NetBSD lyssa.zhadum.de 1.6K NetBSD 1.6K (LYSSA) #0: Wed Dec 4 15:37:37 CET 2002 tron@lyssa.zhadum.de:/src/sys/compile/LYSSA i386
Architecture: i386
Machine: i386
>Description:
The recent changes to NetBSD's toolchain break building the "grub" package:
cc -O2 -I/usr/pkg/include -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -o pre_stage2.exec -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 pre_stage2_exec-asm.o pre_stage2_exec-bios.o pre_stage2_exec-boot.o pre_stage2_exec-builtins.o pre_stage2_exec-common.o pre_stage2_exec-char_io.o pre_stage2_exec-cmdline.o pre_stage2_exec-disk_io.o pre_stage2_exec-gunzip.o pre_stage2_exec-fsys_ext2fs.o pre_stage2_exec-fsys_fat.o pre_stage2_exec-fsys_ffs.o pre_stage2_exec-fsys_jfs.o pre_stage2_exec-fsys_minix.o pre_stage2_exec-fsys_reiserfs.o pre_stage2_exec-fsys_vstafs.o pre_stage2_exec-fsys_xfs.o pre_stage2_exec-hercules.o pre_stage2_exec-serial.o pre_stage2_exec-smp-imps.o pre_stage2_exec-stage2.o pre_stage2_exec-md5.o ../netboot/libdrivers.a
pre_stage2_exec-builtins.o: In function `blocklist_func':
pre_stage2_exec-builtins.o(.text+0x220): undefined reference to `__enable_execute_stack'
pre_stage2_exec-builtins.o: In function `install_func':
pre_stage2_exec-builtins.o(.text+0x16cf): undefined reference to `__enable_execute_stack'
pre_stage2_exec-builtins.o(.text+0x16f2): undefined reference to `__enable_execute_stack'
gmake[2]: *** [pre_stage2.exec] Error 1
gmake[2]: Leaving directory `/src/NetBSD-current/pkgsrc/sysutils/grub/work/grub-0.92/stage2'
The reason is that NetBSD's compiler now emits calls to __enable_execute_stack
for nested C functions(*) which breaks standalone programs.
(*) one of the great extensions to the C language in GCC
>How-To-Repeat:
cd pkgsrc/sysutils/grub
make
>Fix:
Not known.
>Release-Note:
>Audit-Trail:
>Unformatted: