[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:4164] Can not make 1.19 with gcc 3.2.



;; 報告がないということは、また私のところだけかな... ;_;

昨日、私のところで変なことが起こるのは gcc が古いのだろうかと思
い、久しぶりに Cygwin の setup を動かしてみたら、 gcc のバージョ
ンがあがったのですが、それっきり make が通らなくなってしまいまし
た。

以前のバージョンは去年の10月のはじめのものを使っていました。
新しいバージョンは 3.2 です。

前回 1/29 の時点では make できましたので、一応
$ cvs update -D 20030129
などとして試しても見ましたが状況は変わりませんでした。

$ make bootstrap

コンパイル・オプションは次のとおり。
gcc -I. -DWIN32_LEAN_AND_MEAN -D_X86_=1 -c -g -mno-cygwin \
-mcpu=i686 -O2 -Di386 -D_CRTAPI1=_cdecl -Demacs=1 -DWINDOWSNT \
-DDOS_NT -DHAVE_CONFIG_H -I../nt/inc -D_UCHAR_T -DHAVE_NTGUI=1 \
-DUSE_CRT_DLL=1 -DMEADOW="\"1.99a4\"" -DMEADOW_VERSION_STRING="\
"Meadow-1.99 Alpha4 (KUROGANE)\"" -DW32_VER4 \
-DPDUMP_HASH_SIZE=4000037 -DPDUMP_OBJECT_ARRAY_SIZE=200009 \
-o oo-spd/i386/mw32bdf.o mw32bdf.c

[...]

make - --unix -C ../lisp bootstrap
make[1]: Entering directory `/orig/Meadow1.99/src/lisp'
Directories: calendar emacs-lisp emulation eshell gnus international language mail net play progmodes term textmodes toolbar
"./../bin/Meadow.exe" -batch --no-init-file --no-site-file --multibyte -l autoload \
        --eval '(setq find-file-hooks nil \
                find-file-suppress-same-file-warnings t \
                generated-autoload-file \
                  "c:/orig/Meadow1.99/src/lisp/loaddefs.el")' \
        -f batch-update-autoloads c:/orig/Meadow1.99/src/lisp calendar emacs-lisp emulation eshell gnus international language mail net play progmodes term textmodes toolbar
make[1]: *** [autoloads] Error 5
make[1]: Leaving directory `/orig/Meadow1.99/src/lisp'
make: *** [bootstrap-gmake] Error 2

...と、こんな具合になってしまいます。

で、 Cygwin に gcc-2 というものがあったので、それを使ってみたの
ですが sysdep.c でコンパイル・エラーとなり、とりあえずその行を 
comment out してたところ、やはり gcc 3.2 と同じところで make が
終わってしまいます。

そこで...
$ gdb --args ./meadow -batch --no-init-file --no-site-file --eval '(princ "HOGE
")'

[...]

(gdb) run
Starting program: /orig/Meadow1.99/src/bin/meadow.exe -batch --no-init-file --no-site-file --eval \(princ\ \"HOGE\"\)

Program received signal SIGSEGV, Segmentation fault.
0x0104a937 in pdump_load (
    argv0=0xa725a9 "c:\\orig\\Meadow1.99\\src\\bin\\meadow.exe")
    at alloc.c:6809
6809          *staticvec[staticidx] = root.val;
(gdb) print staticidx
$1 = 0
(gdb) print root
$2 = {address = 0x1000000, val = -746004448}
(gdb) print staticvec[staticidx]
$3 = (int *) 0x1000000

[...]

(gdb) print pdump_header
$5 = {offset = 12289, root_objects_length = 1012, objects_size = 2218396,
  pointers_length = 110, subr_docs_length = 989, interval_tree_length = 21,
  cons_length = 52214, misc_length = 513, string_length = 20158,
  symbol_length = 8646, float_length = 30, hash_table_length = 2,
  vector_length = 7518, cons_size = 417712, misc_size = 4616,
  string_size = 730216, symbol_size = 207504, float_size = 480,
  hash_table_size = 136, vector_size = 857732}
(gdb) print/x pdump_header
$6 = {offset = 0x3001, root_objects_length = 0x3f4, objects_size = 0x21d99c,
  pointers_length = 0x6e, subr_docs_length = 0x3dd,
  interval_tree_length = 0x15, cons_length = 0xcbf6, misc_length = 0x201,
  string_length = 0x4ebe, symbol_length = 0x21c6, float_length = 0x1e,
  hash_table_length = 0x2, vector_length = 0x1d5e, cons_size = 0x65fb0,
  misc_size = 0x1208, string_size = 0xb2468, symbol_size = 0x32a90,
  float_size = 0x1e0, hash_table_size = 0x88, vector_size = 0xd1684}
(gdb) print pdump_objects_start
$7 = 0x1720050
(gdb) print offset
$8 = 24236031
(gdb) print/x offset
$9 = 0x171cfff
(gdb)

-- 
鈴木圭一 / keiichi@xxxxxxxxx
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4  4089 7AAF 2B03 ECBD 614B