문제

  • glibc를 분석하려고 nvim에서 glibc 코드를 봤는데 계속 코드에 오류가 있다고 뜬다.
  • 헤더 파일을 잡지 못하는 것으로 추정된다.
  • 환경
    • mason lsp를 nvim에 추가하여 쓰고 있다.

해결법

  • 동적으로 생성되는 헤더 파일이 있을 수 있기에 헤더 파일들을 빌드해야 한다.
  • 4번에 보면 bear 커맨드를 써야한다. 환경에 맞게 설치해놓자.
  1. cd libc-src 소스코드의 위치로 이동
  2. mkdir build && cd build 디렉터리 생성 및 이동
  3. ../configure --disable-werror --prefix=/tmp/glibc-install --enable-compile-commands 설정하기
  4. bear -- make -j$(nproc) 빌드빌드 (오래 걸립니다. ㅜㅜ)
  5. cat compile_commands.json 을 하면 결과를 볼 수 있다.
  6. cd .. 을 통해 libc-src 로 이동한다.
  7. nvim .clangd를 통해서 아래와 같이 (생성 혹은) 편집한다.
CompileFlags:
CompilationDatabase: build      # compile_commands.json 이 있는 디렉터리
Add: [-D_GNU_SOURCE]
  1. nvim . 을 통해서 인덱싱을 기다린다. (이것도 오래 걸린다, 근데 다행히 다음에 열 때에는 막 그렇게 오래 안걸림)
  2. 이렇게 하면 경고가 사라진다. 빠른 이동도 잘 된다.

느낀점