Subject: kern/23758: >2 PT_LOAD changes to exec_elf32.c break old GCC3 PowerPC bins
To: None <gnats-bugs@gnats.netbsd.org>
From: None <thorpej@shagadelic.org>
List: netbsd-bugs
Date: 12/14/2003 14:26:56
>Number: 23758
>Category: kern
>Synopsis: >2 PT_LOAD changes to exec_elf32.c break old GCC3 PowerPC bins
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Dec 14 22:27:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Jason R Thorpe
>Release: NetBSD 1.6ZG
>Organization:
-- Jason R. Thorpe <thorpej@shagadelic.org>
>Environment:
System: NetBSD yeah-baby.shagadelic.org 1.6ZD NetBSD 1.6ZD (YEAH-BABY-XP) #21: Thu Oct 16 15:47:17 PDT 2003 thorpej@yeah-baby.shagadelic.org:/u1/netbsd/src/sys/arch/i386/compile/YEAH-BABY-XP i386
Architecture: i386
Machine: i386
>Description:
The recent change to support >2 PT_LOAD sections in exec_elf32.c
has broken older GCC3-compiled binaries on PowerPC.
Due to a bug in GCC3, the text section was ending up being writable,
which means that the new Phdr-parsing code in exec_elf32.c will never
recognize a text segment in binaries compiled with that compiler.
>How-To-Repeat:
Boot a new kernel on a system with GCC3-built binaries. The exec
of init will get ENOMEM.
>Fix:
The compiler has been fixed, but that does not help people who
have older binaries on their system. The code in exec_elf32.c
should be fixed to handle this situation. Until then, the change
in rev 1.96 of exec_elf32.c should be backed out.
>Release-Note:
>Audit-Trail:
>Unformatted: