리눅스환경에서 컴파일하는데 Invalid option 'preferred stack boundary=2' 의 의미가 뭔가요?
글쓴이: kim0709 / 작성시간: 수, 2007/02/21 - 5:44오후
오류 메세지가 이렇게 뜹니다.
Invalid option 'preferred-stack-boundary=2'
Fedora core 6 기반에서 wlan카드 디바이스드라이버를 컴파일 중입니다
이 wlan카드를 avr32보드에 포팅하려고 크로스 컴파일 중인데.. 자꾸 정체 불명의 invalid option 오류가 나는군요.
Invalid option 'preffered stack boundary=2'
이 메세지 보신적 있으신분? 덩달아 avr32보드에 이런저런 디바이스들 포팅하는데 성공하신분 계신가요? 도움좀 부탁드리겠습니다!!!!
Forums:
-mpreferred-stack-boundary=num
혹시 -mpreferred-stack-boundary=num 이거 아닐까요?
gcc manpage에 보면 i386 옵션 부분에 있는 겁니다. 참조하세요.
----- man page ----------
-mpreferred-stack-boundary=num
Attempt to keep the stack boundary aligned to a 2 raised to num byte boundary. If -mpre-
ferred-stack-boundary is not specified, the default is 4 (16 bytes or 128 bits), except when optimizing
for code size (-Os), in which case the default is the minimum correct alignment (4 bytes for x86, and 8
bytes for x86-64).
On Pentium and PentiumPro, "double" and "long double" values should be aligned to an 8 byte boundary (see
-malign-double) or suffer significant run time performance penalties. On Pentium III, the Streaming SIMD
Extension (SSE) data type "__m128" suffers similar penalties if it is not 16 byte aligned.
To ensure proper alignment of this values on the stack, the stack boundary must be as aligned as that
required by any value stored on the stack. Further, every function must be generated such that it keeps
the stack aligned. Thus calling a function compiled with a higher preferred stack boundary from a func-
tion compiled with a lower preferred stack boundary will most likely misalign the stack. It is recom-
mended that libraries that use callbacks always use the default setting.
This extra alignment does consume extra stack space, and generally increases code size. Code that is sen-
sitive to stack space usage, such as embedded systems and operating system kernels, may want to reduce the
preferred alignment to -mpreferred-stack-boundary=2.
쩝 avr32 보드가
쩝 avr32 보드가 뭔지는 모르겠지만, i386 cpu가 장착되는게 아닌가봐요?
위의 옵션은 i386 cpu에만 있는 옵션이니까..
다른 cpu로 포팅한다면..
위의 옵션을 빼야할 것 같네요.
댓글 달기