On 2024-10-08 18:51, Richard Sandiford wrote:
Matthieu Longo <matthieu.lo...@arm.com> writes:
gcc/ChangeLog:

     * config.gcc: Add aarch64-dwarf-metadata.o to extra_objs.
     * config/aarch64/aarch64-dwarf-metadata.h (class 
section_note_gnu_property):
     Encapsulate GNU properties code into a class.
     * config/aarch64/aarch64.cc
     (GNU_PROPERTY_AARCH64_FEATURE_1_AND): Define.
     (GNU_PROPERTY_AARCH64_FEATURE_1_BTI): Likewise.
     (GNU_PROPERTY_AARCH64_FEATURE_1_PAC): Likewise.
     (GNU_PROPERTY_AARCH64_FEATURE_1_GCS): Likewise.
     (aarch64_file_end_indicate_exec_stack): Move GNU properties code to
     aarch64-dwarf-metadata.cc
     * config/aarch64/t-aarch64: Declare target aarch64-dwarf-metadata.o
     * config/aarch64/aarch64-dwarf-metadata.cc: New file.
---
  gcc/config.gcc                               |   2 +-
  gcc/config/aarch64/aarch64-dwarf-metadata.cc | 120 +++++++++++++++++++
  gcc/config/aarch64/aarch64-dwarf-metadata.h  |  19 +++
  gcc/config/aarch64/aarch64.cc                |  87 +-------------
  gcc/config/aarch64/t-aarch64                 |   7 ++
  5 files changed, 153 insertions(+), 82 deletions(-)
  create mode 100644 gcc/config/aarch64/aarch64-dwarf-metadata.cc

diff --git a/gcc/config.gcc b/gcc/config.gcc
index f09ce9f63a0..b448c2a91d1 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -351,7 +351,7 @@ aarch64*-*-*)
        c_target_objs="aarch64-c.o"
        cxx_target_objs="aarch64-c.o"
        d_target_objs="aarch64-d.o"
-       extra_objs="aarch64-builtins.o aarch-common.o aarch64-sve-builtins.o 
aarch64-sve-builtins-shapes.o aarch64-sve-builtins-base.o aarch64-sve-builtins-sve2.o 
aarch64-sve-builtins-sme.o cortex-a57-fma-steering.o aarch64-speculation.o 
falkor-tag-collision-avoidance.o aarch-bti-insert.o aarch64-cc-fusion.o 
aarch64-early-ra.o aarch64-ldp-fusion.o"
+       extra_objs="aarch64-builtins.o aarch-common.o aarch64-dwarf-metadata.o 
aarch64-sve-builtins.o aarch64-sve-builtins-shapes.o aarch64-sve-builtins-base.o 
aarch64-sve-builtins-sve2.o aarch64-sve-builtins-sme.o cortex-a57-fma-steering.o 
aarch64-speculation.o falkor-tag-collision-avoidance.o aarch-bti-insert.o 
aarch64-cc-fusion.o aarch64-early-ra.o aarch64-ldp-fusion.o"
        target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.h 
\$(srcdir)/config/aarch64/aarch64-builtins.cc 
\$(srcdir)/config/aarch64/aarch64-sve-builtins.h 
\$(srcdir)/config/aarch64/aarch64-sve-builtins.cc"
        target_has_targetm_common=yes
        ;;
diff --git a/gcc/config/aarch64/aarch64-dwarf-metadata.cc 
b/gcc/config/aarch64/aarch64-dwarf-metadata.cc
new file mode 100644
index 00000000000..36659862b59
--- /dev/null
+++ b/gcc/config/aarch64/aarch64-dwarf-metadata.cc
@@ -0,0 +1,120 @@

Missing copyright & licence.


Oups :/ Fixed.

+#define INCLUDE_STRING
+#define INCLUDE_ALGORITHM
+#define INCLUDE_MEMORY
+#define INCLUDE_VECTOR
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "backend.h"
+#include "target.h"
+#include "rtl.h"
+#include "output.h"
+
+#include "aarch64-dwarf-metadata.h"
+
[...]
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index c2a0715e9ab..194e3a4ac99 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -139,6 +139,13 @@ aarch-common.o: $(srcdir)/config/arm/aarch-common.cc 
$(CONFIG_H) $(SYSTEM_H) \
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
                $(srcdir)/config/arm/aarch-common.cc
+aarch64-dwarf-metadata.o: $(srcdir)/config/aarch64/aarch64-dwarf-metadata.cc \
+    $(CONFIG_H) \
+    $(SYSTEM_H) \
+    $(TARGET_H)

Looks like this also needs: $(RTL_H) output.h aarch64-dwarf-metadata.h

Fixed.

The comments for patch 1 apply to this refactored version too, but otherwise
it looks good.

Fixed in both patches 1/4 and 4/4 in the next revision.

Thanks,
Richard


+       $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_SPPFLAGS) $(INCLUDES) \
+         $(srcdir)/config/aarch64/aarch64-dwarf-metadata.cc
+
  aarch64-c.o: $(srcdir)/config/aarch64/aarch64-c.cc $(CONFIG_H) $(SYSTEM_H) \
      coretypes.h $(TM_H) $(TREE_H) output.h $(C_COMMON_H) $(TARGET_H)
        $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \

Reply via email to