Re-add Matter*Callback with STRONG linkage (#32730)

* Re-add Matter*Callback with STRONG linkage

This is to cause link errors if anyone relies on these functions
to ever work because they do not anymore.

* Update src/app/util/MatterCallbacks.cpp

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

---------

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
diff --git a/src/app/util/MatterCallbacks.cpp b/src/app/util/MatterCallbacks.cpp
index 76576c8..c476093 100644
--- a/src/app/util/MatterCallbacks.cpp
+++ b/src/app/util/MatterCallbacks.cpp
@@ -34,3 +34,24 @@
 }
 
 } // namespace chip
+
+/// Strong-link callbacks for backwards compatibiltiy error reporting
+///
+/// We used to have these as __attribute__(weak) linkage in previous releases, so
+/// we define these as non-weak now so that we get compile errors in case anyone tries
+/// to link with them on the assumption they work (because they do not anymore)
+///
+/// TODO(future): we should be able to remove these once we assume everyone is updated
+///               to the latest code.
+void MatterPreAttributeReadCallback(const chip::app::ConcreteAttributePath & attributePath) {}
+void MatterPostAttributeReadCallback(const chip::app::ConcreteAttributePath & attributePath) {}
+void MatterPreAttributeWriteCallback(const chip::app::ConcreteAttributePath & attributePath) {}
+void MatterPostAttributeWriteCallback(const chip::app::ConcreteAttributePath & attributePath) {}
+CHIP_ERROR MatterPreCommandReceivedCallback(const chip::app::ConcreteCommandPath & commandPath,
+                                            const chip::Access::SubjectDescriptor & subjectDescriptor)
+{
+    return CHIP_NO_ERROR;
+}
+void MatterPostCommandReceivedCallback(const chip::app::ConcreteCommandPath & commandPath,
+                                       const chip::Access::SubjectDescriptor & subjectDescriptor)
+{}