2012-05-09 2 views
0

내 리눅스 커널이 최적화 된 수준 (-O?)을 확인하려고합니다. 어떻게해야합니까?리눅스 커널 컴파일러 최적화 수준을 확인하는 방법

찾을 수있는 유일한 것은 커널 구성 파일에서 CONFIG_CC_OPTIMIZE_FOR_SIZE = y입니다. 그것은 -O를 암시 하는가? 그것은 무엇이든 무시합니다 (하나의 gcc 행에서 여러 개의 최적화가 성공하면 마지막 -O가됩니다)? -O2로 빌드 된 커널의 일부분을 발견했지만 모든 커널에 대해 너무 적은 행을 발견했습니다.

이러한 최적화는 중앙에서 어떻게 설정됩니까?

참고 : CentOS 5.5를 사용하고 있습니다.

+0

왜 모든 파일이 동일한 최적화 수준으로 작성되었다고 가정합니까? – tripleee

+0

공정하니? 왜 파일에 최적화가 없어야합니까? 그것이 있다면 그것은 모두에게 더 빨라집니다. – tothphu

+0

소스는 무료이지만 모든 배포본이 모든 빌드 인프라를 게시하지는 않습니다. 하지만 액세스 권한이 있으면 더 많은 권한을 얻을 수 있습니다. – tripleee

답변

1

make V=1으로 실행하면 명령 줄을 모두 볼 수 있습니다.

+0

이것은 소스 트리에 대한 액세스 권한이 있다는 상당한 양의 가정에 달려 있지만, 공급 업체가 게시하지 않으면 불가능합니다.이 특정 질문에 대한 대답 만 원하는 경우 설정하는 것은 매우 시련입니다. – tripleee

+0

제 경우에는 소스 트리에 액세스 할 수 있습니다. 내가 아는 한 리눅스 커널 소스는 GPL 그대로 공개되어야한다. 그렇지 않습니까? – tothphu

1

커널 설정에 CONFIG_CC_OPTIMIZE_FOR_SIZE가 포함되어 있으면 -O를 사용하여 컴파일했다고 가정 할 수 있습니다. 예를 들어 커널 메이크 파일을 참조하십시오. 이 값이 설정된 곳의 http://lxr.linux.no/linux+v3.12/Makefile#L573에 CONFIG_CC_OPTIMIZE_FOR_SIZE가 설정되어 있지 않으면 -O2가 사용된다는 것을 보여줍니다.

blueshift가 이미 말했듯이, make V = 1을 사용하여 빌드하면 최적화 플래그를 포함한 전체 컴파일러 출력이 표시됩니다.