[PATCH/committed,2/8] sim: ppc: replace filter_filename with lbasename
Checks
Commit Message
The lbasename function from libiberty provides the same API as this
custom function. The common/ code already made the switch, so make
the same change to the ppc code to avoid target duplication.
---
sim/ppc/Makefile.in | 11 ++---------
sim/ppc/debug.h | 12 ++++++------
2 files changed, 8 insertions(+), 15 deletions(-)
Comments
>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:
Mike> The lbasename function from libiberty provides the same API as this
Mike> custom function. The common/ code already made the switch, so make
Mike> the same change to the ppc code to avoid target duplication.
When updating and rebuilding in an existing tree, some patch -- I guess
probably this one, I didn't bisect -- caused a build failure in sim/ppc
because filter_filename was missing. Removing sim/ppc/*.o and
rebuilding fixed it, but I suppose this means there is a missing
dependency somewhere.
Tom
On 09 Jan 2024 07:34, Tom Tromey wrote:
> >>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:
>
> Mike> The lbasename function from libiberty provides the same API as this
> Mike> custom function. The common/ code already made the switch, so make
> Mike> the same change to the ppc code to avoid target duplication.
>
> When updating and rebuilding in an existing tree, some patch -- I guess
> probably this one, I didn't bisect -- caused a build failure in sim/ppc
> because filter_filename was missing. Removing sim/ppc/*.o and
> rebuilding fixed it, but I suppose this means there is a missing
> dependency somewhere.
ppc/ used to generate a filter_host.c file in the output dir, and compile the
.o from that. it switched to using the igen/filter_host.c in the source dir.
when i've migrated code like this, i haven't left behind clean rules to delete
files that only mattered to old builds since any new builds would never see
that stuff. but it means bisect/incremental (re)builds across that timespan
might break. i don't know what the general policy is in the tree for these
cases, but it seems like we just don't bother.
also a lot of sim rules rely on VPATH to locate sources. e.g. the makefiles
write ppc/foo.c instead of $(srcdir)/ppc/foo.c. the only time we really use
$(srcdir) is with generated files we commit to the tree. i think this pattern
is standard in the binutils-gdb tree. but it also contributes to incremental
(re)build failures like this.
-mike
@@ -198,8 +198,7 @@ CPU_H = \
cpu.c
DEBUG_H = \
- debug.h \
- $(FILTER_FILENAME_H)
+ debug.h
DEVICE_H = \
device.h
@@ -240,9 +239,6 @@ EMUL_UNIX_H = \
EVENTS_H = \
events.h
-FILTER_FILENAME_H = \
- filter_filename.h
-
FILTER_H = \
filter.h
@@ -304,8 +300,7 @@ LF_H = \
MISC_H = \
misc.h \
- $(CONFIG_H) \
- $(FILTER_FILENAME_H)
+ $(CONFIG_H)
MON_H = \
mon.h \
@@ -466,7 +461,6 @@ COMMON_OBJS = $(COMMON_OBJS_NAMES:%=../common/%)
# first
LIB_OBJ = \
debug.o \
- filter_filename.o \
bits.o \
sim-endian.o \
os_emul.o \
@@ -519,7 +513,6 @@ psim.o: psim.c $(CPU_H) $(IDECODE_H) $(OPTIONS_H) $(TREE_H) $(BFD_H)
bits.o: bits.c $(BASICS_H)
debug.o: debug.c $(CONFIG_H) $(BASICS_H)
-filter_filename.o: filter_filename.c $(CONFIG_H) $(FILTER_FILENAME_H)
sim-endian.o: sim-endian.c $(CONFIG_H) $(BASICS_H) $(SIM_ENDIAN_N_H)
@@ -21,7 +21,7 @@
#ifndef _DEBUG_H_
#define _DEBUG_H_
-#include "filter_filename.h"
+#include "libiberty.h"
typedef enum {
trace_invalid,
@@ -87,7 +87,7 @@ extern int ppc_trace[nr_trace_options];
do { \
if (WITH_TRACE) { \
if (ppc_trace[OBJECT]) { \
- sim_io_printf_filtered("%s:%d: ", filter_filename(__FILE__), __LINE__); \
+ sim_io_printf_filtered("%s:%d: ", lbasename(__FILE__), __LINE__); \
sim_io_printf_filtered ARGS; \
} \
} \
@@ -113,7 +113,7 @@ do { \
|| ppc_trace[trace_##OBJECT##_device] \
|| trace_device) { \
sim_io_printf_filtered("%s:%d:%s:%s%s ", \
- filter_filename(__FILE__), __LINE__, #OBJECT, \
+ lbasename(__FILE__), __LINE__, #OBJECT, \
trace_device ? device_path(me) : "", \
trace_device ? ":" : ""); \
sim_io_printf_filtered ARGS; \
@@ -131,7 +131,7 @@ do { \
|| ppc_trace[trace_##OBJECT##_device] \
|| trace_device) { \
sim_io_printf_filtered("%s:%d:%s:%s%s ", \
- filter_filename(__FILE__), __LINE__, #OBJECT, \
+ lbasename(__FILE__), __LINE__, #OBJECT, \
trace_device ? device_path(_me) : "", \
trace_device ? ":" : ""); \
sim_io_printf_filtered ARGS; \
@@ -144,7 +144,7 @@ do { \
do { \
if (WITH_TRACE) { \
if (ppc_trace[trace_##OBJECT##_package]) { \
- sim_io_printf_filtered("%s:%d:%s: ", filter_filename(__FILE__), __LINE__, #OBJECT); \
+ sim_io_printf_filtered("%s:%d:%s: ", lbasename(__FILE__), __LINE__, #OBJECT); \
sim_io_printf_filtered ARGS; \
} \
} \
@@ -156,7 +156,7 @@ do { \
if (WITH_ASSERT) { \
if (!(EXPRESSION)) { \
error("%s:%d: assertion failed - %s\n", \
- filter_filename(__FILE__), __LINE__, #EXPRESSION); \
+ lbasename(__FILE__), __LINE__, #EXPRESSION); \
} \
} \
} while (0)