@@ -14,6 +14,7 @@ SNPS_GIT_URL := https://github.com/foss-for-synopsys-dwc-arc-processors
1414BINUTILS_BRANCH := arc-2025.06
1515GCC_BRANCH := arc-2025.06
1616NEWLIB_BRANCH := arc-2025.06
17+ GDB_BRANCH := arc-2025.06-gdb
1718QEMU_BRANCH := master
1819GLIBC_BRANCH := arc-2025.06
1920BUILDROOT_BRANCH := arc64
@@ -23,6 +24,7 @@ LINUX_BRANCH := arc64
2324
2425
2526BINUTILS_SRCDIR := @with_binutils_src@
27+ GDB_SRCDIR := @with_gdb_src@
2628NEWLIB_SRCDIR := @with_newlib_src@
2729GCC_SRCDIR := @with_gcc_src@
2830GLIBC_SRCDIR := @with_glibc_src@
@@ -32,8 +34,11 @@ QEMU_SRCDIR := @with_qemu_src@
3234PARENT_SRCDIR = @with_src@
3335
3436ifneq ($(PARENT_SRCDIR ) ,)
35- ifeq ($(BINUTILS_SRCDIR ) ,$(srcdir ) /binutils-gdb)
36- BINUTILS_SRCDIR = $(PARENT_SRCDIR ) /binutils-gdb
37+ ifeq ($(BINUTILS_SRCDIR ) ,$(srcdir ) /binutils)
38+ BINUTILS_SRCDIR = $(PARENT_SRCDIR ) /binutils
39+ endif
40+ ifeq ($(GDB_SRCDIR ) ,$(srcdir ) /gdb)
41+ GDB_SRCDIR = $(PARENT_SRCDIR ) /gdb
3742endif
3843ifeq ($(NEWLIB_SRCDIR ) ,$(srcdir ) /newlib)
3944NEWLIB_SRCDIR = $(PARENT_SRCDIR ) /newlib
@@ -163,7 +168,9 @@ endif
163168all : @default_target@ @qemu_build@
164169 echo " $( INSTALL_DIR) " > stamps/install_dir
165170baremetal : stamps/build-gcc-newlib-stage2
171+ baremetal : stamps/build-gdb-newlib
166172linux : stamps/build-gdbserver-linux
173+ linux : stamps/build-gdb-linux
167174
168175gdbserver : stamps/build-gdbserver-linux
169176qemu : stamps/build-qemu
@@ -188,6 +195,10 @@ check-binutils: check-binutils-@default_target@
188195check-binutils-linux : stamps/check-binutils-linux
189196check-binutils-baremetal : stamps/check-binutils-baremetal
190197
198+ check-gdb : check-gdb-@default_target@
199+ check-gdb-linux : stamps/check-gdb-linux
200+ check-gdb-baremetal : stamps/check-gdb-baremetal
201+
191202check-qemu : check-qemu-@default_target@
192203check-qemu-baremetal : stamps/check-qemu-baremetal
193204
@@ -230,6 +241,9 @@ patches: $(addprefix $(srcdir)/patches/,$(PACKAGES))
230241$(BINUTILS_SRCDIR ) :
231242 git clone --depth 1 --single-branch --branch $(BINUTILS_BRANCH ) $(SNPS_GIT_URL ) /binutils-gdb.git $@
232243
244+ $(GDB_SRCDIR ) :
245+ git clone --depth 1 --single-branch --branch $(GDB_BRANCH ) $(SNPS_GIT_URL ) /binutils-gdb.git $@
246+
233247$(GCC_SRCDIR ) :
234248 git clone --depth 1 --single-branch --branch $(GCC_BRANCH ) $(SNPS_GIT_URL ) /gcc.git $@
235249
@@ -279,6 +293,7 @@ stamps/build-binutils-linux: $(BINUTILS_SRCDIR) stamps/check-write-permission
279293 --with-sysroot=$(SYSROOT) \
280294 $(MULTILIB_FLAGS) \
281295 --disable-werror \
296+ --disable-gdb \
282297 --disable-nls \
283298 $(BINUTILS_TARGET_FLAGS) \
284299 --disable-sim \
@@ -292,6 +307,34 @@ stamps/build-binutils-linux: $(BINUTILS_SRCDIR) stamps/check-write-permission
292307 $(MAKE) -C $(notdir $@) install
293308 mkdir -p $(dir $@) && touch $@
294309
310+ stamps/build-gdb-linux : $(GDB_SRCDIR ) $(GDB_SRC_GIT ) stamps/build-gcc-linux-stage2
311+ rm -rf $@ $(notdir $@ )
312+ mkdir $(notdir $@ )
313+ cd $(notdir $@ ) && $< /configure \
314+ --target=$(LINUX_TUPLE ) \
315+ $(CONFIGURE_HOST ) \
316+ --prefix=$(INSTALL_DIR ) \
317+ --with-sysroot=$(SYSROOT ) \
318+ $(MULTILIB_FLAGS ) \
319+ --disable-werror \
320+ --disable-nls \
321+ $(GDB_TARGET_FLAGS ) \
322+ --enable-gdb \
323+ --disable-gas \
324+ --disable-binutils \
325+ --disable-ld \
326+ --disable-gold \
327+ --disable-gprof \
328+ CFLAGS=" $( CFLAGS) $( DEBUG_INFO) " \
329+ CFLAGS_FOR_TARGET=" $( CFLAGS_FOR_TARGET) $( DEBUG_INFO) " \
330+ CFLAGS_FOR_BUILD=" $( CFLAGS_FOR_BUILD) $( DEBUG_INFO) " \
331+ CXXFLAGS=" $( CXXFLAGS) $( DEBUG_INFO) " \
332+ CXXFLAGS_FOR_TARGET=" $( CXXFLAGS_FOR_TARGET) $( DEBUG_INFO) " \
333+ CXXFLAGS_FOR_BUILD=" $( CXXFLAGS_FOR_BUILD) $( DEBUG_INFO) "
334+ $(MAKE ) -C $(notdir $@ )
335+ $(MAKE ) -C $(notdir $@ ) install
336+ mkdir -p $(dir $@ ) && touch $@
337+
295338stamps/build-glibc-linux-headers : $(GLIBC_SRCDIR ) stamps/build-gcc-linux-stage1
296339 rm -rf $@ $(notdir $@ )
297340 mkdir $(notdir $@ )
@@ -411,7 +454,7 @@ stamps/build-gcc-linux-stage2: $(GCC_SRCDIR) stamps/build-glibc-linux \
411454 cp -a $(INSTALL_DIR)/$(LINUX_TUPLE)/lib* $(SYSROOT)
412455 mkdir -p $(dir $@) && touch $@
413456
414- stamps/build-gdbserver-linux : $(BINUTILS_SRCDIR ) stamps/build-gcc-linux-stage2
457+ stamps/build-gdbserver-linux : $(GDB_SRCDIR ) stamps/build-gcc-linux-stage2
415458 rm -rf $@ $(notdir $@ )
416459 mkdir $(notdir $@ )
417460 cd $(notdir $@ ) && $< /configure \
@@ -453,6 +496,31 @@ stamps/build-binutils-newlib: $(BINUTILS_SRCDIR)
453496 --target=$(NEWLIB_TUPLE ) \
454497 --prefix=$(INSTALL_DIR ) \
455498 --disable-python \
499+ --disable-gdb \
500+ @multilib_flags@ \
501+ @werror_flag@ \
502+ CFLAGS=" $( CFLAGS) $( DEBUG_INFO) " \
503+ CFLAGS_FOR_TARGET=" -O2 $( CFLAGS_FOR_TARGET) $( DEBUG_INFO) " \
504+ CFLAGS_FOR_BUILD=" $( CFLAGS_FOR_BUILD) $( DEBUG_INFO) " \
505+ CXXFLAGS=" $( CXXFLAGS) $( DEBUG_INFO) " \
506+ CXXFLAGS_FOR_TARGET=" -O2 $( CXXFLAGS_FOR_TARGET) $( DEBUG_INFO) " \
507+ CXXFLAGS_FOR_BUILD=" $( CXXFLAGS_FOR_BUILD) $( DEBUG_INFO) "
508+ $(MAKE ) -C $(notdir $@ )
509+ $(MAKE ) -C $(notdir $@ ) install
510+ mkdir -p $(dir $@ ) && touch $@
511+
512+ stamps/build-gdb-newlib : $(GDB_SRCDIR ) $(GDB_SRC_GIT )
513+ rm -rf $@ $(notdir $@ )
514+ mkdir $(notdir $@ )
515+ cd $(notdir $@ ) && $< /configure \
516+ --target=$(NEWLIB_TUPLE ) \
517+ --prefix=$(INSTALL_DIR ) \
518+ --enable-gdb \
519+ --disable-gas \
520+ --disable-binutils \
521+ --disable-ld \
522+ --disable-gold \
523+ --disable-gprof \
456524 @multilib_flags@ \
457525 @werror_flag@ \
458526 CFLAGS=" $( CFLAGS) $( DEBUG_INFO) " \
@@ -594,10 +662,18 @@ stamps/check-binutils-baremetal: stamps/build-gcc-newlib-stage2 $(SIM_STAMP)
594662 $(SIM_PREPARE ) $(MAKE ) -C build-binutils-newlib check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( NEWLIB_TARGET_BOARDS) '" || true
595663 date > $@
596664
665+ stamps/check-gdb-baremetal : stamps/build-gcc-newlib-stage2 stamps/build-gdb-newlib $(SIM_STAMP )
666+ $(SIM_PREPARE ) $(MAKE ) -C build-gdb-newlib check-gdb -k " RUNTESTFLAGS=--target_board='$( NEWLIB_TARGET_BOARDS) '" || true
667+ date > $@
668+
597669stamps/check-binutils-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP )
598670 $(SIM_PREPARE ) $(MAKE ) -C build-binutils-linux check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
599671 date > $@
600672
673+ stamps/check-gdb-linux : stamps/build-gcc-linux-stage2 stamps/build-gdb-linux $(SIM_STAMP )
674+ $(SIM_PREPARE ) $(MAKE ) -C build-gdb-linux check-gdb -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
675+ date > $@
676+
601677stamps/check-newlib-baremetal : stamps/build-newlib $(SIM_STAMP )
602678 $(SIM_PREPARE ) $(MAKE ) -C build-newlib check -k " RUNTESTFLAGS=--target_board='$( NEWLIB_TARGET_BOARDS) '" || true
603679 date > $@
0 commit comments