수행중인 프로젝트에서 armcc를 gcc로 변경하는 작업 중 문제가 생겼습니다.

library를 armcc로 만들고 application도 armcc로 만들었을 경우
readelf -e를 해보면 dynamic section이 존재하지 않고 RO,RW,ZI 영역 및 debugging정보가 들어있는 section만 있는데
library를 armcc로 만들고 application을 gcc로 만들 경우나
library를 gcc로 만들고 application을 gcc로 만들 경우
readelf -e를 해보면 dynamic section이 존재합니다... dyanmic section을 제거하려면 어떻게 해야하나요? 아래는 library와 application을 build할 때의 option입니다.
library(armcc)
CFLAGS = -c \
--debug \
-O0 \
--littleend \
--diag_style=ide \
--diag_suppress=2523,1296,925 \
--diag_error=warning \
--depend_format=unix_escaped \
--no_depend_system_headers \
--asm \
--cpu=${CPU} \
--wchar32 \
--library_interface=aeabi_clib \
--enum_is_int \
--fpu=SoftVFP
LIBRAIANFLAGS = -r --create
library(gcc)
CFLAGS = -c \
-g \
-O0 \
-march=armv7-a \
-mcpu=cortex-a8
LIBRAIANFLAGS = rcv
app(armcc)
CFLAGS = -c \
--debug \
-O0 \
--littleend \
--diag_style=ide \
--depend_format=unix_escaped \
--no_depend_system_headers \
--asm \
--cpu=${CPU} \
--wchar32 \
--library_interface=aeabi_clib \
--enum_is_int \
--fpu=SoftVFP
LINKFLAGS = --userlibpath=$(LIB_DIR)/ \
--library=c \
--scatter=$(LIB_DIR)/$(ARCH)/scatter.scat \
--list=$(OUTPUT)/list.lst \
--map \
--symbols \
--info totals
app(gcc)
CFLAGS = -g \
-O0
LINKFLAGS = -L$(LIB_DIR) \
-lc
댓글 달기