|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
|||||||||||||||||||||||||||||||||||||||||||||||||||
2006年07月26日(水) 旧暦 [n年日記] [更新:"2006/07/27 21:33:16"]#1 [機械] KERNEL_DATA_INPAGE_ERROR
家人の Let's Note CF-R2 が、これを言っている。
どうも disk の swap に使っているところが変とかいうことの気がしている。
一応簡単な方から: memtest86 (Download - Memtest86 v3.2 ISO image (gzip)) → memtest86-3.2.iso.gz を現在実行中 ( つっこみ )
#2 [pkgsrc] sysutils/cdrecord-ossdvd が Segfault するStarting program: /usr/pkg/bin/mkisofs -volid XXXX -part -hfs -r -J -l -o CDimage dir (no debugging symbols found) (no debugging symbols found) /usr/pkg/bin/mkisofs: Warning: no Apple/Unix files will be decoded/mapped Program received signal SIGSEGV, Segmentation fault. 0x419611e4 in memmove () from /usr/lib/libc.so.12 (gdb) bt #0 0x419611e4 in memmove () from /usr/lib/libc.so.12 #1 0x0182dec0 in getopt_long () #2 0x01827858 in getopt_long () #3 0x0182804c in getopt_long () #4 0x01827a4c in getopt_long () #5 0x0180df34 in ?? () #6 0x0180d930 in ?? () #7 0x01803464 in ?? () #8 0x018016c4 in ?? () #9 0x418733f0 in _rtld_start () from /usr/libexec/ld.elf_so Previous frame inner to this frame (corrupt stack?) (gdb)これは 3.99.17 (つまり gcc-3.3.3) でも起きる。どうも引数によるらしい。 ( つっこみ )
#3 [NetBSD] gdb6 を使うとすると
./build.sh の時には -Werror を付けているので、一つでも warning があると
止ってしまう。
で、gdb6 は三か所出るが、そのうちの二つは直せた。しかし、
これが分らない。 src/gnu/dist/gdb6/sim/ppc/device.h 729 EXTERN_DEVICE\ 730 (void volatile) device_error 731 (device *me, 732 const char *fmt, 733 ...) __attribute__ ((format (printf, 2, 3)));/export/20060702/checkout/src/gnu/dist/gdb6/sim/ppc/device.h:733: warning: type qualifiers ignored on function return type [KJ] [PATCH] Fix warning: type qualifiers ignored on function return cat -n readline/rlstdc.h | sed -n '39,$p 39 #ifndef __attribute__ 40 # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ 41 # define __attribute__(x) 42 # endif 43 #endifこれって今は意味がないのか。古い gcc では __attribute__ 以下は無視するっていう意味か。 @ __attribute__ は関数属性:
format .. first-to-check
また、 first-to-check は、書式文字列に照らし合わせてチェックすべき最初の引き数の番号です。チェックすべき引き数を指定できない関数に対しては、第 3 パラメータに 0 を指定してください。この場合、コンパイラは、書式文字列だけを対象にして整合性のチェックを行います。(M-x text-adjust-region 済) @ gdb6 を使う変更:
これで出来た気が
する。えー、実は (void) と (void volatile) の違いは分っていません。
UNIX入門 > C言語 > 17.2. volatile
何か勝手に外してしまっては良くない気もしますが sim なので、いいことにしませう。
多分、 「そのようなところ (関数の戻り値) に volatile なんか付けても無視するよ」 (type qualifiers ignored on function return type) って gcc が言っているのだから、外して正解という気がする ( つっこみ )
|
最近の日記 2025年02月13日 ・dvipdfmx ICC profile format spec. version 4.3.0 2025年01月29日 ・ham/wsjtx 2025年01月27日 ・wip/wsjtx 5.4.2 2025年01月25日 ・ham/wsjtx 2025年01月15日 ・今更 advent calendar | ||