NetBSD Problem Report #42479
From tsutsui@ceres.dti.ne.jp Sat Dec 19 16:56:26 2009
Return-Path: <tsutsui@ceres.dti.ne.jp>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id 2F00063C4EB
for <gnats-bugs@gnats.NetBSD.org>; Sat, 19 Dec 2009 16:56:26 +0000 (UTC)
Message-Id: <200912191656.nBJGuMjN006325@mirage.ceres.dti.ne.jp>
Date: Sun, 20 Dec 2009 01:56:22 +0900 (JST)
From: tsutsui@ceres.dti.ne.jp
Reply-To: tsutsui@ceres.dti.ne.jp
To: gnats-bugs@gnats.NetBSD.org
Cc: tsutsui@ceres.dti.ne.jp
Subject: netbsd-5-0 tools config(1) generates bad config_file.h on i386 5.99.22
X-Send-Pr-Version: 3.95
>Number: 42479
>Category: toolchain
>Synopsis: netbsd-5-0 tools config(1) generates bad config_file.h on i386 5.99.22
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: toolchain-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Dec 19 17:00:01 +0000 2009
>Closed-Date: Fri Jan 29 11:22:00 +0000 2010
>Last-Modified: Fri Jan 29 11:22:00 +0000 2010
>Originator: Izumi Tsutsui
>Release: NetBSD 5.99.22, updated around 20091213
>Organization:
>Environment:
System: NetBSD mirage 5.99.22: Sun Dec 13 19:02:02 JST 2009
Architecture: i386
Machine: i386
>Description:
When I tried to build netbsd-5-0's NetBSD/arc ISO image by
"build.sh -m arc -U -u release iso-image" command on
NetBSD/i386 5.99.22 host, it failed during compiling GENERIC kernel:
---
:
# compile GENERIC/param.o
/r/work/netbsd-5-0/src/obj.arc/tooldir.NetBSD-5.99.22-i386/bin/mipsel--netbsd-gcc \
-G 0 -mno-abicalls -msoft-float -ffixed-23 -ffreestanding \
-fno-zero-initialized-in-bss -O2 -std=gnu99 -fno-strict-aliasing \
-Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith \
-Wmissing-prototypes -Wstrict-prototypes -Wswitch -Wshadow -Wcast-qual \
-Wwrite-strings -Wno-unreachable-code -Wno-sign-compare -Wno-pointer-sign \
-Wno-attributes -Werror -march=mips3 -mabi=32 -Darc -I. \
-I../../../../../common/include -I../../../../arch -I../../../.. \
-nostdinc -DMIPS3 -DMIPS3_ENABLE_CLOCK_INTR -DLKM -DMAXUSERS=32 -D_KERNEL \
-D_KERNEL_OPT -I../../../../lib/libkern/../../../common/lib/libc/quad \
-I../../../../lib/libkern/../../../common/lib/libc/string \
-I../../../../lib/libkern/../../../common/lib/libc/arch/mips/string \
-I../../../../dist/ipf -c param.c
In file included from param.c:77:
config_file.h:30: error: expected ',' or ';' before '_CFG_'
config_file.h:30: error: stray '\' in program
config_file.h:30: error: missing terminating " character
config_file.h:35: error: stray '##' in program
config_file.h:35: error: stray '#' in program
config_file.h:35: error: stray '##' in program
config_file.h:35: error: stray '#' in program
config_file.h:35: error: stray '##' in program
:
*** Failed target: param.o
:
Stop.
nbmake: stopped in /r/work/netbsd-5-0/src/sys/arch/arc/compile/GENERIC
---
config_file.h generated by ${TOOLDIR}/bin/nbconfig seems corrupted:
---
#include <sys/cdefs.h>
#include "opt_config.h"
/*
* Add either (or both) of
*
* options INCLUDE_CONFIG_FILE
* options INCLUDE_JUST_CONFIG
*
* to your kernel config file to embed it in the resulting
* kernel. The latter option does not include files that are
* included (recursively) by your config file. The embedded
* data be extracted by using the command:
*
* strings netbsd | sed -n 's/^_CFG_//p' | unvis
*/
#ifdef CONFIG_FILE
#if defined(INCLUDE_CONFIG_FILE) || defined(INCLUDE_JUST_CONFIG)
static const char config[] __used =
#ifdef INCLUDE_CONFIG_FILE
"_CFG_### START CONFIG FILE \"GENERIC\"\n"
#endif /* INCLUDE_CONFIG_FILE */
"_CFG_"_CFG_"_CFG_"_CFG_"_CFG_"_CFG_"_CFG_"_CFG_" [...too long...] _CFG_\n"
#ifdef INCLUDE_CONFIG_FILE
"_CFG_### END CONFIG FILE \"GENERIC\"\n"
"_CFG_### (included from \"arch/arc/conf/std.arc\")\n"
"_CFG_###> "_CFG_###> "_CFG_###> "_CFG_###> "_CFG_###> [....] "_CFG_###> \n"
"_CFG_### (end include \"arch/arc/conf/std.arc\")\n"
"_CFG_### (included from \"conf/std\")\n"
"_CFG_###> "_CFG_###> "_CFG_###> "_CFG_###> "_CFG_###> [...] "_CFG_###> \n"
"_CFG_### (end include \"conf/std\")\n"
#endif /* INCLUDE_CONFIG_FILE */
;
#endif /* INCLUDE_CONFIG_FILE || INCLUDE_JUST_CONFIG */
#endif /* CONFIG_FILE */
---
and nbconfig actually complains as following:
---
% /work/netbsd-5-0/src/obj.arc/tooldir.NetBSD-5.99.22-i386/bin/nbconfig GENERIC
nbconfig: GENERIC: newline missing at EOF
nbconfig: arch/arc/conf/std.arc: newline missing at EOF
nbconfig: conf/std: newline missing at EOF
Build directory is ../compile/GENERIC
Don't forget to run "make depend"
%
---
These warnings are come from src/usr.bin/config/main.c:logconfig_include()
---
void
logconfig_include(FILE *cf, const char *filename)
{
char line[1024], in[2048], *out;
struct stat st;
int missingeol;
if (!cfg)
return;
missingeol = 0;
if (fstat(fileno(cf), &st) == -1)
return;
if (cfgtime < st.st_mtime)
cfgtime = st.st_mtime;
if (filename)
(void)fprintf(cfg,
"\"_CFG_### (included from \\\"%s\\\")\\n\"\n",
filename);
while (fgets(line, sizeof(line), cf) != NULL) {
missingeol = 1;
(void)fprintf(cfg, "\"_CFG_");
if (filename)
(void)fprintf(cfg, "###> ");
---> strvis(in, line, VIS_TAB);
for (out = in; *out; out++)
switch (*out) {
case '\n':
(void)fprintf(cfg, "\\n\"\n");
missingeol = 0;
break;
case '"': case '\\':
(void)fputc('\\', cfg);
/* FALLTHROUGH */
default:
(void)fputc(*out, cfg);
break;
}
}
if (missingeol) {
(void)fprintf(cfg, "\\n\"\n");
warnx("%s: newline missing at EOF",
filename != NULL ? filename : conffile);
}
if (filename)
(void)fprintf(cfg, "\"_CFG_### (end include \\\"%s\\\")\\n\"\n",
filename);
rewind(cf);
}
---
"strvis(in, line, VIS_TAB);" seems to return NUL into "in" pointer.
- netbsd-5-0 nbconfig built on 5.99.15 didn't have problem.
- Using strvis(3) in libc (not in libnbcompat, by -lc) fixes the problem.
- Compiling vis.c with -O0 in src/tools/compat also fixes the problem.
- Pulling src/lib/libc/gen/vis.c rev 1.39 (and 1.40) also fixes the problem.
Looks like compiler's bug, but triggered by new binutils?
>How-To-Repeat:
- get netbsd-5-0 source tree on NetBSD/i386 5.99.22 host
- build.sh -m arc release
- then will get the above errors.
>Fix:
Probably we should track and fix gcc or binutils bugs,
but for now easist workaround is to partially pull vis.c changes
(replacing conditionals with a function pointer, but excluding
MIMESTYLE support) in rev 1.39 and 1.40, which also avoid this bug?
Index: lib/libc/gen/vis.c
===================================================================
RCS file: /cvsroot/src/lib/libc/gen/vis.c,v
retrieving revision 1.38
diff -u -r1.38 vis.c
--- lib/libc/gen/vis.c 4 Sep 2008 09:41:44 -0000 1.38
+++ lib/libc/gen/vis.c 19 Dec 2009 16:47:11 -0000
@@ -91,6 +91,7 @@
#define iswhite(c) (c == ' ' || c == '\t' || c == '\n')
#define issafe(c) (c == '\b' || c == BELL || c == '\r')
#define xtoa(c) "0123456789abcdef"[c]
+#define XTOA(c) "0123456789ABCDEF"[c]
#define MAXEXTRAS 5
@@ -211,6 +212,18 @@
return dst;
}
+typedef char *(*visfun_t)(char *, int, int, int, const char *);
+
+/*
+ * Return the appropriate encoding function depending on the flags given.
+ */
+static visfun_t
+getvisfun(int flag)
+{
+ if (flag & VIS_HTTPSTYLE)
+ return do_hvis;
+ return do_svis;
+}
/*
* svis - visually encode characters, also encoding the characters
@@ -220,6 +233,7 @@
svis(char *dst, int c, int flag, int nextc, const char *extra)
{
char *nextra = NULL;
+ visfun_t f;
_DIAGASSERT(dst != NULL);
_DIAGASSERT(extra != NULL);
@@ -228,10 +242,8 @@
*dst = '\0'; /* can't create nextra, return "" */
return dst;
}
- if (flag & VIS_HTTPSTYLE)
- dst = do_hvis(dst, c, flag, nextc, nextra);
- else
- dst = do_svis(dst, c, flag, nextc, nextra);
+ f = getvisfun(flag);
+ dst = (*f)(dst, c, flag, nextc, nextra);
free(nextra);
*dst = '\0';
return dst;
@@ -260,6 +272,7 @@
char *start;
char *nextra = NULL;
const unsigned char *src = (const unsigned char *)csrc;
+ visfun_t f;
_DIAGASSERT(dst != NULL);
_DIAGASSERT(src != NULL);
@@ -269,16 +282,12 @@
*dst = '\0'; /* can't create nextra, return "" */
return 0;
}
- if (flag & VIS_HTTPSTYLE) {
- for (start = dst; (c = *src++) != '\0'; /* empty */)
- dst = do_hvis(dst, c, flag, *src, nextra);
- } else {
- for (start = dst; (c = *src++) != '\0'; /* empty */)
- dst = do_svis(dst, c, flag, *src, nextra);
- }
+ f = getvisfun(flag);
+ for (start = dst; (c = *src++) != '\0'; /* empty */)
+ dst = (*f)(dst, c, flag, *src, nextra);
free(nextra);
*dst = '\0';
- return (dst - start);
+ return (int)(dst - start);
}
@@ -289,6 +298,7 @@
char *start;
char *nextra = NULL;
const unsigned char *src = (const unsigned char *)csrc;
+ visfun_t f;
_DIAGASSERT(dst != NULL);
_DIAGASSERT(src != NULL);
@@ -299,22 +309,14 @@
return 0;
}
- if (flag & VIS_HTTPSTYLE) {
- for (start = dst; len > 0; len--) {
- c = *src++;
- dst = do_hvis(dst, c, flag,
- len > 1 ? *src : '\0', nextra);
- }
- } else {
- for (start = dst; len > 0; len--) {
- c = *src++;
- dst = do_svis(dst, c, flag,
- len > 1 ? *src : '\0', nextra);
- }
+ f = getvisfun(flag);
+ for (start = dst; len > 0; len--) {
+ c = *src++;
+ dst = (*f)(dst, c, flag, len > 1 ? *src : '\0', nextra);
}
free(nextra);
*dst = '\0';
- return (dst - start);
+ return (int)(dst - start);
}
#endif
@@ -327,6 +329,7 @@
{
char *extra = NULL;
unsigned char uc = (unsigned char)c;
+ visfun_t f;
_DIAGASSERT(dst != NULL);
@@ -335,10 +338,8 @@
*dst = '\0'; /* can't create extra, return "" */
return dst;
}
- if (flag & VIS_HTTPSTYLE)
- dst = do_hvis(dst, uc, flag, nextc, extra);
- else
- dst = do_svis(dst, uc, flag, nextc, extra);
+ f = getvisfun(flag);
+ dst = (*f)(dst, uc, flag, nextc, extra);
free(extra);
*dst = '\0';
return dst;
---
Izumi Tsutsui
>Release-Note:
>Audit-Trail:
From: enami tsugutomo <tsugutomo.enami@jp.sony.com>
To: tsutsui@ceres.dti.ne.jp, gnats-bugs@NetBSD.org
Cc: toolchain-manager@NetBSD.org, gnats-admin@NetBSD.org,
netbsd-bugs@NetBSD.org
Subject: Re: toolchain/42479: netbsd-5-0 tools config(1) generates bad config_file.h on i386 5.99.22
Date: 21 Dec 2009 19:57:31 +0900
<tsutsui@ceres.dti.ne.jp> writes:
> >Number: 42479
> >Category: toolchain
> >Synopsis: netbsd-5-0 tools config(1) generates bad config_file.h on i386 5.99.22
I've found that this is reproducable even on NetBSD/amd64.
enami@quasiquote% uname -rm
5.99.22 amd64
enami@quasiquote% cc -O -c -o /tmp/vis.o -Isrc/netbsd-5/src/lib/libc/include src/netbsd-5/src/lib/libc/gen/vis.c
enami@quasiquote% cat /tmp/main.c
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <vis.h>
main(){
char b[256];
int n = strvis(b, "abc", 0);
printf("%d, %s\n", n, strerror(errno));
}
enami@quasiquote% cc -o /tmp/bug /tmp/vis.o /tmp/main.c
enami@quasiquote% /tmp/bug
0, Cannot allocate memory
enami@quasiquote%
It looks like linker tries to compat the rodata. The strvis is
compiled like this:
enami@quasiquote% cc -O -S -o /tmp/vis.s -Isrc/netbsd-5/src/lib/libc/include src/netbsd-5/src/lib/libc/gen/vis.c
enami@quasiquote% grep -A30 'strvis:' /tmp/vis.s
_strvis:
.LFB23:
pushq %r13
.LCFI34:
pushq %r12
.LCFI35:
pushq %rbp
.LCFI36:
pushq %rbx
.LCFI37:
subq $8, %rsp
.LCFI38:
movq %rdi, %r12
movq %rsi, %r13
movl %edx, %ebx
movl $.LC2, %edx
.L163:
movzbl (%rdx), %eax
addq $1, %rdx
testb %al, %al
jne .L163
movq %rdx, %rdi
subq $.LC2-5, %rdi
call malloc
testq %rax, %rax
je .L165
movq %rax, %rbp
movq %rax, %rdx
movl $.LC2, %ecx
.L167:
and the line `movl $.LC2, %edx' and `subq $.LC2-5, %rdi' are assembled
as follows:
enami@quasiquote% as /tmp/vis.s -o /tmp/vis.o
enami@quasiquote% objdump -D /tmp/vis.o | grep -A20 'strvis>:'
00000000000006ad <_strvis>:
6ad: 41 55 push %r13
6af: 41 54 push %r12
6b1: 55 push %rbp
6b2: 53 push %rbx
6b3: 48 83 ec 08 sub $0x8,%rsp
6b7: 49 89 fc mov %rdi,%r12
6ba: 49 89 f5 mov %rsi,%r13
6bd: 89 d3 mov %edx,%ebx
6bf: ba 00 00 00 00 mov $0x0,%edx
6c4: 0f b6 02 movzbl (%rdx),%eax
6c7: 48 83 c2 01 add $0x1,%rdx
6cb: 84 c0 test %al,%al
6cd: 75 f5 jne 6c4 <_strvis+0x17>
6cf: 48 89 d7 mov %rdx,%rdi
6d2: 48 81 ef 00 00 00 00 sub $0x0,%rdi
6d9: e8 00 00 00 00 callq 6de <_strvis+0x31>
6de: 48 85 c0 test %rax,%rax
6e1: 74 6f je 752 <_strvis+0xa5>
6e3: 48 89 c5 mov %rax,%rbp
6e6: 48 89 c2 mov %rax,%rdx
enami@quasiquote% objdump -r /tmp/vis.o | egrep '6c0|6d5'
00000000000006c0 R_X86_64_32 .rodata.str1.1+0x000000000000001d
00000000000006d5 R_X86_64_32S .rodata.str1.1+0x0000000000000018
enami@quasiquote% objdump -j .rodata.str1.1 -s /tmp/vis.o
/tmp/vis.o: file format elf64-x86-64
Contents of section .rodata.str1.1:
0000 242d5f2e 2b212a27 28292c00 30313233 $-_.+!*'(),.0123
0010 34353637 38396162 63646566 0000 456789abcdef..
enami@quasiquote%
Note that `.rodata.str1.1+0x000000000000001d' points the last `00' and
`.rodata.str1.1+0x0000000000000018' points the `63'.
But after the object is linked, the references to $.LC2 is moved to
point another empty string while $.LC2-5 left unchanged:
enami@quasiquote% cc -o /tmp/bug /tmp/vis.o /tmp/main.cenami@quasiquote% objdump -D /tmp/bug | grep -A20 'strvis>:'
000000000040122d <_strvis>:
40122d: 41 55 push %r13
40122f: 41 54 push %r12
401231: 55 push %rbp
401232: 53 push %rbx
401233: 48 83 ec 08 sub $0x8,%rsp
401237: 49 89 fc mov %rdi,%r12
40123a: 49 89 f5 mov %rsi,%r13
40123d: 89 d3 mov %edx,%ebx
40123f: ba d3 15 40 00 mov $0x4015d3,%edx
401244: 0f b6 02 movzbl (%rdx),%eax
401247: 48 83 c2 01 add $0x1,%rdx
40124b: 84 c0 test %al,%al
40124d: 75 f5 jne 401244 <_strvis+0x17>
40124f: 48 89 d7 mov %rdx,%rdi
401252: 48 81 ef e0 15 40 00 sub $0x4015e0,%rdi
401259: e8 86 f6 ff ff callq 4008e4 <malloc@plt>
40125e: 48 85 c0 test %rax,%rax
401261: 74 6f je 4012d2 <_strvis+0xa5>
401263: 48 89 c5 mov %rax,%rbp
401266: 48 89 c2 mov %rax,%rdx
enami@quasiquote% objdump -j .rodata -s /tmp/bug
/tmp/bug: file format elf64-x86-64
Contents of section .rodata:
401470 436f7272 75707420 4f626a5f 456e7472 Corrupt Obj_Entr
401480 7920706f 696e7465 7220696e 20474f54 y pointer in GOT
401490 0a000000 00000000 44796e61 6d696320 ........Dynamic
4014a0 6c696e6b 65722076 65727369 6f6e206d linker version m
4014b0 69736d61 7463680a 00000000 00000000 ismatch.........
4014c0 970c4000 00000000 c00c4000 00000000 ..@.......@.....
4014d0 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
4014e0 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
4014f0 c00c4000 00000000 420c4000 00000000 ..@.....B.@.....
401500 310c4000 00000000 640c4000 00000000 1.@.....d.@.....
401510 0f0c4000 00000000 530c4000 00000000 ..@.....S.@.....
401520 750c4000 00000000 200c4000 00000000 u.@..... .@.....
401530 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
401540 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
401550 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
401560 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
401570 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
401580 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
401590 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
4015a0 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
4015b0 c00c4000 00000000 c00c4000 00000000 ..@.......@.....
4015c0 860c4000 00000000 242d5f2e 2b212a27 ..@.....$-_.+!*'
4015d0 28292c00 30313233 34353637 38396162 (),.0123456789ab
4015e0 63646566 00616263 0025642c 2025730a cdef.abc.%d, %s.
4015f0 00 .
enami@quasiquote%
Now, $0x4015d3 points `00' which is terminating byte of sting
"$-_.+!*'()," while $0x4015e0 still points same `63'.
So, $.LC2 - ($.LC2 - 5) becomes negative number and for malloc() it is
considered as very large number and it fails.
enami.
From: enami tsugutomo <tsugutomo.enami@jp.sony.com>
To: tsutsui@ceres.dti.ne.jp, gnats-bugs@NetBSD.org
Cc: toolchain-manager@NetBSD.org, gnats-admin@NetBSD.org,
netbsd-bugs@NetBSD.org, skrll@NetBSD.org, matt@NetBSD.org
Subject: Re: toolchain/42479: netbsd-5-0 tools config(1) generates bad
config_file.h on i386 5.99.22
Date: Sun, 27 Dec 2009 20:16:35 +0900 (JST)
> >Number: 42479
> >Category: toolchain
> >Synopsis: netbsd-5-0 tools config(1) generates bad config_file.h on i386 5.99.22
:
> >Description:
> When I tried to build netbsd-5-0's NetBSD/arc ISO image by
> "build.sh -m arc -U -u release iso-image" command on
> NetBSD/i386 5.99.22 host, it failed during compiling GENERIC kernel:
Backing out rev. 1.2 of external/gpl3/binutils/dist/gas/write.c fixes
the problem.
I suspect the original fix since the log messsage seems to say that it
restict the case when reloc is adjusted but actually more reloc is
adjusted than before (actually, the strvis case mentioned in the
original pr is the case now reloc is adjuested and causes the problem).
enami.
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
To: tsugutomo.enami@jp.sony.com
Cc: gnats-bugs@NetBSD.org, toolchain-manager@NetBSD.org,
gnats-admin@NetBSD.org, netbsd-bugs@NetBSD.org, skrll@NetBSD.org,
matt@NetBSD.org, tsutsui@ceres.dti.ne.jp
Subject: Re: toolchain/42479: netbsd-5-0 tools config(1) generates bad config_file.h
on i386 5.99.22
Date: Sun, 27 Dec 2009 22:36:31 +0900
> > >Description:
> > When I tried to build netbsd-5-0's NetBSD/arc ISO image by
> > "build.sh -m arc -U -u release iso-image" command on
> > NetBSD/i386 5.99.22 host, it failed during compiling GENERIC kernel:
>
> Backing out rev. 1.2 of external/gpl3/binutils/dist/gas/write.c fixes
> the problem.
Hmm, should we backout this change for now?
IMO config(1) is one of the most important tools for our build system.
---
Izumi Tsutsui
From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: tsutsui@ceres.dti.ne.jp
Subject: Re: toolchain/42479: netbsd-5-0 tools config(1) generates bad
config_file.h on i386 5.99.22
Date: Sat, 2 Jan 2010 00:53:41 +0000
On Sun, Dec 27, 2009 at 01:40:03PM +0000, Izumi Tsutsui wrote:
> > > When I tried to build netbsd-5-0's NetBSD/arc ISO image by
> > > "build.sh -m arc -U -u release iso-image" command on
> > > NetBSD/i386 5.99.22 host, it failed during compiling GENERIC kernel:
> >
> > Backing out rev. 1.2 of external/gpl3/binutils/dist/gas/write.c fixes
> > the problem.
>
> Hmm, should we backout this change for now?
> IMO config(1) is one of the most important tools for our build system.
Something else was done about this, right? Does it work now? (Can the
PR be closed?)
--
David A. Holland
dholland@netbsd.org
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
To: dholland-bugs@NetBSD.org
Cc: gnats-bugs@NetBSD.org, tsutsui@ceres.dti.ne.jp
Subject: Re: toolchain/42479: netbsd-5-0 tools config(1) generates badconfig_file.h
on i386 5.99.22
Date: Sat, 2 Jan 2010 10:13:38 +0900
> > > > When I tried to build netbsd-5-0's NetBSD/arc ISO image by
> > > > "build.sh -m arc -U -u release iso-image" command on
> > > > NetBSD/i386 5.99.22 host, it failed during compiling GENERIC kernel:
> > >
> > > Backing out rev. 1.2 of external/gpl3/binutils/dist/gas/write.c fixes
> > > the problem.
> >
> > Hmm, should we backout this change for now?
> > IMO config(1) is one of the most important tools for our build system.
>
> Something else was done about this, right? Does it work now? (Can the
> PR be closed?)
config(1) problem was workarounded, but actual problem in toolchain
is still under discussion, so PR should not be closed, IMO.
http://mail-index.NetBSD.org/tech-toolchain/2010/01/01/msg000967.html
Comments?
---
Izumi Tsutsui
From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: toolchain/42479: netbsd-5-0 tools config(1) generates
badconfig_file.h on i386 5.99.22
Date: Sat, 2 Jan 2010 01:34:56 +0000
On Sat, Jan 02, 2010 at 01:15:03AM +0000, Izumi Tsutsui wrote:
> config(1) problem was workarounded, but actual problem in toolchain
> is still under discussion, so PR should not be closed, IMO.
> http://mail-index.NetBSD.org/tech-toolchain/2010/01/01/msg000967.html
ah, I didn't read it carefully enough on the first pass; it looked
like it was resolved.
--
David A. Holland
dholland@netbsd.org
State-Changed-From-To: open->closed
State-Changed-By: tsutsui@NetBSD.org
State-Changed-When: Fri, 29 Jan 2010 20:22:00 +0900
State-Changed-Why:
A change that causes this has been revered.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.