Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 스프링 회원가입 인증
- 현장실습 IT
- 숭실대
- 스프링
- 위키 탭
- 자바
- 정렬 기준
- 잘하고싶다..
- 문자 인증
- nurigo
- 스터디 관리
- 인턴
- 개발자 디자인
- aws ec2
- 사이드 프로젝트
- excalidraw
- ssh
- 현장실습
- 값 객체
- NAVER D2
- DNS동작원리
- 스트림
- Executors
- OpenAI
- Java
- 프로그래머스
- 셀레니움
- REST
- Spring
- 위키 꾸미기
Archives
- Today
- Total
뭐요
[xv6] writing 1 byte into a region of size 0 에러 본문
배경
m1 맥 사용하고 있으며, 우분투 환경에서 xv6를 설치했다.
이후, xv6 컴파일 및 실행을 위하여
$ make
$ make qemu-nox
명령어를 입력하니 이런 에러가 떴다.
에러 메세지

usertests.c: In function ‘sbrktest’:
usertests.c:1461:13: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
1461 | *lastaddr = 99;
| ~~~~~~~~~~^~~~
cc1: all warnings being treated as errors
make: *** [<builtin>: usertests.o] Error 1
추측 원인
에러가 나는 코드가 일반적으로 버그를 유발하는 코드라 경고 발생시키는데, Makefile에서 모든 경고를 에러로 바꾸는 옵션이 있어서 실행이 안되는 것 같다.
Solution
1. Makefile 확인
$ vi Makefile
2. gcc flag에 -Werror=stringop-overflow=0 옵션을 추가
# 79 lines
CFLAGS = -fno-pic -static -fno-builtin -fno-strict-aliasing -O2 -Wall -MD -ggdb -m32 -Werror -fno-omit-frame-pointer
에서
CFLAGS = -fno-pic -static -fno-builtin -fno-strict-aliasing -O2 -Wall -MD -ggdb -m32 -Werror -fno-omit-frame-pointer -Werror=stringop-overflow=0
로 변경해주기
(-Werror=stringop-overflow=0 추가)
'Operating System > xv6' 카테고리의 다른 글
예제로 알아보는 xv6에서 시스템 호출 구현하기 (2) (0) | 2023.02.28 |
---|---|
예제로 알아보는 xv6에서 시스템 호출 구현하기 (1) (0) | 2023.02.28 |
xv6에서 로그인 구현 (0) | 2023.02.28 |
xv6에서 hcat 쉘 프로그램 작성 (0) | 2023.02.28 |
xv6에서 helloworld 쉘 프로그램 작성 (0) | 2023.02.28 |