Skip to content

Commit c4a2678

Browse files
committed
Isolate GDB from binutils-gdb build system.
The development binutils branch does not contain the latest patches from gdb as it has now its own branch (currently arc-2025.06-gdb). This patch seperates gdb build system from binutils. Signed-off-by: Luis Silva <luiss@synopsys.com>
1 parent fd8019a commit c4a2678

File tree

2 files changed

+81
-4
lines changed

2 files changed

+81
-4
lines changed

Makefile.in

Lines changed: 79 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ SNPS_GIT_URL := https://github.com/foss-for-synopsys-dwc-arc-processors
1414
BINUTILS_BRANCH := arc-2025.06
1515
GCC_BRANCH := arc-2025.06
1616
NEWLIB_BRANCH := arc-2025.06
17+
GDB_BRANCH := arc-2025.06-gdb
1718
QEMU_BRANCH := master
1819
GLIBC_BRANCH := arc-2025.06
1920
BUILDROOT_BRANCH := arc64
@@ -23,6 +24,7 @@ LINUX_BRANCH := arc64
2324

2425

2526
BINUTILS_SRCDIR := @with_binutils_src@
27+
GDB_SRCDIR := @with_gdb_src@
2628
NEWLIB_SRCDIR := @with_newlib_src@
2729
GCC_SRCDIR := @with_gcc_src@
2830
GLIBC_SRCDIR := @with_glibc_src@
@@ -32,8 +34,11 @@ QEMU_SRCDIR := @with_qemu_src@
3234
PARENT_SRCDIR = @with_src@
3335

3436
ifneq ($(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
3742
endif
3843
ifeq ($(NEWLIB_SRCDIR),$(srcdir)/newlib)
3944
NEWLIB_SRCDIR = $(PARENT_SRCDIR)/newlib
@@ -163,7 +168,9 @@ endif
163168
all: @default_target@ @qemu_build@
164169
echo "$(INSTALL_DIR)" > stamps/install_dir
165170
baremetal: stamps/build-gcc-newlib-stage2
171+
baremetal: stamps/build-gdb-newlib
166172
linux: stamps/build-gdbserver-linux
173+
linux: stamps/build-gdb-linux
167174

168175
gdbserver: stamps/build-gdbserver-linux
169176
qemu: stamps/build-qemu
@@ -188,6 +195,10 @@ check-binutils: check-binutils-@default_target@
188195
check-binutils-linux: stamps/check-binutils-linux
189196
check-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+
191202
check-qemu: check-qemu-@default_target@
192203
check-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+
295338
stamps/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+
597669
stamps/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+
601677
stamps/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 > $@

configure.ac

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ AC_DEFUN([AX_ARG_WITH_SRC],
177177
m4_popdef([opt_name])
178178
}])
179179

180-
AX_ARG_WITH_SRC(binutils, binutils-gdb)
180+
AX_ARG_WITH_SRC(binutils, binutils)
181+
AX_ARG_WITH_SRC(gdb, gdb)
181182
AX_ARG_WITH_SRC(newlib, newlib)
182183
AX_ARG_WITH_SRC(gcc, gcc)
183184
AX_ARG_WITH_SRC(glibc, glibc)

0 commit comments

Comments
 (0)