Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

compile 된 app의 bit 수 알아내기

OS가 Linux나 Un*x 계열에서 현재 app 가 몇 비트인지는 다음 명령어를 통해 알아낼 수 있다.

...

Code Block
$ uname -m
x86_64

getconf 를 통해 LFS 를 지원하는데 필요한 compiler flag 를 알아 낼수 있다. 64bit Linux는 기본적으로 app 도 64bit 로 compile 하므로 (-m32를 주지 않는 이상) 별도의 compiler flags 가 필요없다.

source 가 64bit 로 porting 되지 않아서 32bit 로 build 하거나 할 경우에 LFS 지원이 필요하면 다음 macro를 추가해서 빌드하면 된다.

 

  • 현재 Linux의 FILESIZEBITS 알아 보기
    • getconf FILESIZEBITS /usr
  • Code Block
     __USE_LARGEFILE  Define correct standard I/O things.
       __USE_LARGEFILE64    Define LFS things with separate names.
       __USE_FILE_OFFSET64  Define 64bit interface as default.

 

Solaris

 

  • lfcompile

...

Code Block
languagebash
titleLFS compile flags
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  _FILE_OFFSET_BITS=64

 

Solaris

Solaris 의 32bit app 에서 LFS 를 사용하려면 compile flags 에 다음 getconf 명령어를 추가한다.

Code Block
languagebash
titlecompiler flags
 getconf LFS_CFLAGS 
Code Block
languagebash
titlelinker flags
getconf LFS_LIBS
getconf LFS_CFLAGS

더 자세한 내용은 man lfcompile 을 참고한다.

참고 자료