|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
|||||||||||||||||||||||||||||||||||||||||||||||||
2009年01月06日(火) 旧暦 [n年日記] [更新:"2009/01/06 12:59:45"]#1 [gcc] gcc-4.2.1 で --enable-checking
In info from gcc-4.2.1, I read in 9.2 Overview, --enable-checking is
explained. It is said as
For safety, it is useful to configure GCC with `--enable-checking'. Although this results in a significant performance penalty (since all tree types are checked at run-time), and is therefore inappropriate in a release version, it is extremely helpful during the development process.So I have tried for i386 as: 138 11:09 cd /export/local-src/ 140 11:09 mkdir gcc-4.2.1-i386-enable-checking 141 11:09 cd gcc-4.2.1-i386-enable-checking 142 11:10 ../gcc-4.2.1-dont-modify/configure --host=i386--netbsd --enable-languages=c 143 11:10 gmakeBut I am getting ../../gcc-4.2.1-dont-modify/gcc/libgcc2.c:673: warning: alignment of '__clz_tab' is greater than maximum object file alignment. Using 16Shall I look for 4.2.4 instead of 4.2.1 ? /export/local-src/gcc-4.2.4-enable-checking/./gcc/xgcc -B/export/local-src/gcc-4.2.4-enable-checking/./gcc/ -B/usr/local/i386--netbsd/bin/ -B/usr/local/i386--netbsd/lib/ -isystem /usr/local/i386--netbsd/include -isystem /usr/local/i386--netbsd/sys-include -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc-4.2.4/gcc -I../../gcc-4.2.4/gcc/. -I../../gcc-4.2.4/gcc/../include -I./../intl -I../../gcc-4.2.4/gcc/../libcpp/include -I../../gcc-4.2.4/gcc/../libdecnumber -I../libdecnumber -DL_clz -c ../../gcc-4.2.4/gcc/libgcc2.c -o libgcc/./_clz.oEven with 4.2.4, the same thing on this issue as above. 375 .stabs "DWunion:t236=237=u8s:235,0,64;ll:223,0,64;;",128,0,423,0 376 .globl ___clz_tab 377 .align 5,0x90 378 .type ___clz_tab, @object 379 .size ___clz_tab, 256 380 ___clz_tab: 381 .byte 0 382 .byte 1 383 .byte 2 384 .byte 2To my understanding, align 5 means align 2^5, two to the power of 5, = 32, Leaning to the problem gas side ? From the info for gas: The first expression (which must be absolute) is the alignment required, as described below.No, it looks gcc side problem, or gcc thinks it is two to the power of, and gas thinks it is in bytes.
gcc (GCC) 4.1.2 20061021 prerelease (NetBSD nb3 20061125)
10 .globl __clz_tab 11 .section .rodata l 12 .align 32 13 .type __clz_tab, @object 14 .size __clz_tab, 256the patch applied. --- gcc-4.2.4/gcc/config/i386/bsd.h~ 2007-09-02 00:28:30.000000000 +0900 +++ gcc-4.2.4/gcc/config/i386/bsd.h 2009-01-06 12:51:08.000000000 +0900 @@ -70,7 +70,7 @@ to a multiple of 2**LOG bytes. */ #define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", (LOG)) + if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", 1<<(LOG)) /* This is how to store into the string BUF the symbol_ref name of an internal numbered label where --- gcc-4.2.4/gcc/config/i386/netbsd.h~ 2004-07-18 06:09:14.000000000 +0900 +++ gcc-4.2.4/gcc/config/i386/netbsd.h 2009-01-06 12:55:50.000000000 +0900 @@ -41,7 +41,7 @@ segment. */ #undef ASM_OUTPUT_ALIGN #define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG)) + if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", 1<<(LOG)) /* Profiling routines, partially copied from i386/osfrose.h. */and now getting: checking for i386--netbsd-gcc... /export/local-src/gcc-4.2.4-enable-checking/./prev-gcc/xgcc -B/export/local-src/gcc-4.2.4-enable-checking/./prev-gcc/ -B/usr/local/i386--netbsd/bin/config.log shows: /usr/bin/ld: warning: type and size of dynamic symbol `_fini' are not defined ( つっこみ )
|
最近の日記 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 | ||