diff --git a/src/citra_qt/debugger/graphics_breakpoints_p.h b/src/citra_qt/debugger/graphics_breakpoints_p.h
index 232bfc863e..34e72e8591 100644
--- a/src/citra_qt/debugger/graphics_breakpoints_p.h
+++ b/src/citra_qt/debugger/graphics_breakpoints_p.h
@@ -25,7 +25,7 @@ public:
     QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
     QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
 
-    bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole);
+    bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override;
 
 public slots:
     void OnBreakPointHit(Pica::DebugContext::Event event);
diff --git a/src/citra_qt/debugger/profiler.h b/src/citra_qt/debugger/profiler.h
index a6d87aa0f7..fabf279b86 100644
--- a/src/citra_qt/debugger/profiler.h
+++ b/src/citra_qt/debugger/profiler.h
@@ -18,7 +18,7 @@ class ProfilerModel : public QAbstractItemModel
 public:
     ProfilerModel(QObject* parent);
 
-    QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
+    QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
     QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override;
     QModelIndex parent(const QModelIndex& child) const override;
     int columnCount(const QModelIndex& parent = QModelIndex()) const override;
diff --git a/src/citra_qt/util/spinbox.cpp b/src/citra_qt/util/spinbox.cpp
index 2e2076a27d..de4060116a 100644
--- a/src/citra_qt/util/spinbox.cpp
+++ b/src/citra_qt/util/spinbox.cpp
@@ -29,6 +29,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+#include <cstdlib>
 #include <QLineEdit>
 #include <QRegExpValidator>
 
@@ -206,7 +207,7 @@ QString CSpinBox::TextFromValue()
 {
     return prefix
            + QString(HasSign() ? ((value < 0) ? "-" : "+") : "")
-           + QString("%1").arg(abs(value), num_digits, base, QLatin1Char('0')).toUpper()
+           + QString("%1").arg(std::abs(value), num_digits, base, QLatin1Char('0')).toUpper()
            + suffix;
 }
 
diff --git a/src/core/arm/dyncom/arm_dyncom.h b/src/core/arm/dyncom/arm_dyncom.h
index 822b3bbb95..2488c879c0 100644
--- a/src/core/arm/dyncom/arm_dyncom.h
+++ b/src/core/arm/dyncom/arm_dyncom.h
@@ -27,7 +27,7 @@ public:
 
     void AddTicks(u64 ticks) override;
 
-    void ResetContext(Core::ThreadContext& context, u32 stack_top, u32 entry_point, u32 arg);
+    void ResetContext(Core::ThreadContext& context, u32 stack_top, u32 entry_point, u32 arg) override;
     void SaveContext(Core::ThreadContext& ctx) override;
     void LoadContext(const Core::ThreadContext& ctx) override;
 
diff --git a/src/core/arm/skyeye_common/vfp/vfp_helper.h b/src/core/arm/skyeye_common/vfp/vfp_helper.h
index 5d1b4e53fa..6b3dae2804 100644
--- a/src/core/arm/skyeye_common/vfp/vfp_helper.h
+++ b/src/core/arm/skyeye_common/vfp/vfp_helper.h
@@ -36,9 +36,6 @@
 #include "common/common_types.h"
 #include "core/arm/skyeye_common/armdefs.h"
 
-#define pr_info //printf
-#define pr_debug //printf
-
 #define do_div(n, base) {n/=base;}
 
 enum : u32 {
diff --git a/src/core/arm/skyeye_common/vfp/vfpsingle.cpp b/src/core/arm/skyeye_common/vfp/vfpsingle.cpp
index 8b2dfa3888..a78bdc430e 100644
--- a/src/core/arm/skyeye_common/vfp/vfpsingle.cpp
+++ b/src/core/arm/skyeye_common/vfp/vfpsingle.cpp
@@ -51,6 +51,8 @@
  * ===========================================================================
  */
 
+#include "common/logging/log.h"
+
 #include "core/arm/skyeye_common/vfp/vfp_helper.h"
 #include "core/arm/skyeye_common/vfp/asm_vfp.h"
 #include "core/arm/skyeye_common/vfp/vfp.h"
@@ -63,8 +65,8 @@ static struct vfp_single vfp_single_default_qnan = {
 
 static void vfp_single_dump(const char *str, struct vfp_single *s)
 {
-    pr_debug("VFP: %s: sign=%d exponent=%d significand=%08x\n",
-             str, s->sign != 0, s->exponent, s->significand);
+    LOG_DEBUG(Core_ARM11, "%s: sign=%d exponent=%d significand=%08x",
+              str, s->sign != 0, s->exponent, s->significand);
 }
 
 static void vfp_single_normalise_denormal(struct vfp_single *vs)
@@ -154,7 +156,7 @@ u32 vfp_single_normaliseround(ARMul_State* state, int sd, struct vfp_single *vs,
     } else if ((rmode == FPSCR_ROUND_PLUSINF) ^ (vs->sign != 0))
         incr = (1 << (VFP_SINGLE_LOW_BITS + 1)) - 1;
 
-    pr_debug("VFP: rounding increment = 0x%08x\n", incr);
+    LOG_DEBUG(Core_ARM11, "rounding increment = 0x%08x", incr);
 
     /*
      * Is our rounding going to overflow?
@@ -209,10 +211,8 @@ pack:
     vfp_single_dump("pack: final", vs);
     {
         s32 d = vfp_single_pack(vs);
-#if 1
-        pr_debug("VFP: %s: d(s%d)=%08x exceptions=%08x\n", func,
-                 sd, d, exceptions);
-#endif
+        LOG_DEBUG(Core_ARM11, "%s: d(s%d)=%08x exceptions=%08x", func,
+                  sd, d, exceptions);
         vfp_put_float(state, d, sd);
     }
 
@@ -302,7 +302,7 @@ u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand)
     u32 z, a;
 
     if ((significand & 0xc0000000) != 0x40000000) {
-        pr_debug("VFP: estimate_sqrt: invalid significand\n");
+        LOG_DEBUG(Core_ARM11, "invalid significand");
     }
 
     a = significand << 1;
@@ -392,7 +392,7 @@ sqrt_invalid:
             term = (u64)vsd.significand * vsd.significand;
             rem = ((u64)vsm.significand << 32) - term;
 
-            pr_debug("VFP: term=%016llx rem=%016llx\n", term, rem);
+            LOG_DEBUG(Core_ARM11, "term=%016lx rem=%016lx", term, rem);
 
             while (rem < 0) {
                 vsd.significand -= 1;
@@ -624,7 +624,7 @@ static u32 vfp_single_ftoui(ARMul_State* state, int sd, int unused, s32 m, u32 f
         }
     }
 
-    pr_debug("VFP: ftoui: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions);
+    LOG_DEBUG(Core_ARM11, "ftoui: d(s%d)=%08x exceptions=%08x", sd, d, exceptions);
 
     vfp_put_float(state, d, sd);
 
@@ -703,7 +703,7 @@ static u32 vfp_single_ftosi(ARMul_State* state, int sd, int unused, s32 m, u32 f
         }
     }
 
-    pr_debug("VFP: ftosi: d(s%d)=%08x exceptions=%08x\n", sd, d, exceptions);
+    LOG_DEBUG(Core_ARM11, "ftosi: d(s%d)=%08x exceptions=%08x", sd, d, exceptions);
 
     vfp_put_float(state, (s32)d, sd);
 
@@ -800,7 +800,7 @@ vfp_single_add(struct vfp_single *vsd, struct vfp_single *vsn,
 
     if (vsn->significand & 0x80000000 ||
             vsm->significand & 0x80000000) {
-        pr_info("VFP: bad FP values in %s\n", __func__);
+        LOG_WARNING(Core_ARM11, "bad FP values");
         vfp_single_dump("VSN", vsn);
         vfp_single_dump("VSM", vsm);
     }
@@ -871,7 +871,7 @@ vfp_single_multiply(struct vfp_single *vsd, struct vfp_single *vsn, struct vfp_s
         struct vfp_single *t = vsn;
         vsn = vsm;
         vsm = t;
-        pr_debug("VFP: swapping M <-> N\n");
+        LOG_DEBUG(Core_ARM11, "swapping M <-> N");
     }
 
     vsd->sign = vsn->sign ^ vsm->sign;
@@ -924,7 +924,7 @@ vfp_single_multiply_accumulate(ARMul_State* state, int sd, int sn, s32 m, u32 fp
     s32 v;
 
     v = vfp_get_float(state, sn);
-    pr_debug("VFP: s%u = %08x\n", sn, v);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, v);
     vfp_single_unpack(&vsn, v);
     if (vsn.exponent == 0 && vsn.significand)
         vfp_single_normalise_denormal(&vsn);
@@ -939,7 +939,7 @@ vfp_single_multiply_accumulate(ARMul_State* state, int sd, int sn, s32 m, u32 fp
         vsp.sign = vfp_sign_negate(vsp.sign);
 
     v = vfp_get_float(state, sd);
-    pr_debug("VFP: s%u = %08x\n", sd, v);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sd, v);
     vfp_single_unpack(&vsn, v);
     if (vsn.exponent == 0 && vsn.significand != 0)
         vfp_single_normalise_denormal(&vsn);
@@ -961,7 +961,7 @@ vfp_single_multiply_accumulate(ARMul_State* state, int sd, int sn, s32 m, u32 fp
  */
 static u32 vfp_single_fmac(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
 {
-    pr_debug("In %sVFP: s%u = %08x\n", __FUNCTION__, sn, sd);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, sd);
     return vfp_single_multiply_accumulate(state, sd, sn, m, fpscr, 0, "fmac");
 }
 
@@ -970,7 +970,8 @@ static u32 vfp_single_fmac(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
  */
 static u32 vfp_single_fnmac(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
 {
-    pr_debug("In %sVFP: s%u = %08x\n", __FUNCTION__, sd, sn);
+    // TODO: this one has its arguments inverted, investigate.
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sd, sn);
     return vfp_single_multiply_accumulate(state, sd, sn, m, fpscr, NEG_MULTIPLY, "fnmac");
 }
 
@@ -979,7 +980,7 @@ static u32 vfp_single_fnmac(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr
  */
 static u32 vfp_single_fmsc(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
 {
-    pr_debug("In %sVFP: s%u = %08x\n", __FUNCTION__, sn, sd);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, sd);
     return vfp_single_multiply_accumulate(state, sd, sn, m, fpscr, NEG_SUBTRACT, "fmsc");
 }
 
@@ -988,7 +989,7 @@ static u32 vfp_single_fmsc(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
  */
 static u32 vfp_single_fnmsc(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
 {
-    pr_debug("In %sVFP: s%u = %08x\n", __FUNCTION__, sn, sd);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, sd);
     return vfp_single_multiply_accumulate(state, sd, sn, m, fpscr, NEG_SUBTRACT | NEG_MULTIPLY, "fnmsc");
 }
 
@@ -1001,7 +1002,7 @@ static u32 vfp_single_fmul(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
     u32 exceptions;
     s32 n = vfp_get_float(state, sn);
 
-    pr_debug("In %sVFP: s%u = %08x\n", __FUNCTION__, sn, n);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, n);
 
     vfp_single_unpack(&vsn, n);
     if (vsn.exponent == 0 && vsn.significand)
@@ -1024,7 +1025,7 @@ static u32 vfp_single_fnmul(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr
     u32 exceptions;
     s32 n = vfp_get_float(state, sn);
 
-    pr_debug("VFP: s%u = %08x\n", sn, n);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, n);
 
     vfp_single_unpack(&vsn, n);
     if (vsn.exponent == 0 && vsn.significand)
@@ -1048,7 +1049,7 @@ static u32 vfp_single_fadd(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
     u32 exceptions;
     s32 n = vfp_get_float(state, sn);
 
-    pr_debug("VFP: s%u = %08x\n", sn, n);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, n);
 
     /*
      * Unpack and normalise denormals.
@@ -1071,7 +1072,7 @@ static u32 vfp_single_fadd(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
  */
 static u32 vfp_single_fsub(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
 {
-    pr_debug("In %sVFP: s%u = %08x\n", __FUNCTION__, sn, sd);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, sd);
     /*
      * Subtraction is addition with one sign inverted.
      */
@@ -1091,7 +1092,7 @@ static u32 vfp_single_fdiv(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
     s32 n = vfp_get_float(state, sn);
     int tm, tn;
 
-    pr_debug("VFP: s%u = %08x\n", sn, n);
+    LOG_DEBUG(Core_ARM11, "s%u = %08x", sn, n);
 
     vfp_single_unpack(&vsn, n);
     vfp_single_unpack(&vsm, m);
@@ -1213,7 +1214,6 @@ u32 vfp_single_cpdo(ARMul_State* state, u32 inst, u32 fpscr)
     unsigned int sm = vfp_get_sm(inst);
     unsigned int vecitr, veclen, vecstride;
     struct op *fop;
-    pr_debug("In %s\n", __FUNCTION__);
 
     vecstride = 1 + ((fpscr & FPSCR_STRIDE_MASK) == FPSCR_STRIDE_MASK);
 
@@ -1239,11 +1239,11 @@ u32 vfp_single_cpdo(ARMul_State* state, u32 inst, u32 fpscr)
     else
         veclen = fpscr & FPSCR_LENGTH_MASK;
 
-    pr_debug("VFP: vecstride=%u veclen=%u\n", vecstride,
-             (veclen >> FPSCR_LENGTH_BIT) + 1);
+    LOG_DEBUG(Core_ARM11, "vecstride=%u veclen=%u", vecstride,
+              (veclen >> FPSCR_LENGTH_BIT) + 1);
 
     if (!fop->fn) {
-        printf("VFP: could not find single op %d, inst=0x%x@0x%x\n", FEXT_TO_IDX(inst), inst, state->Reg[15]);
+        LOG_CRITICAL(Core_ARM11, "could not find single op %d, inst=0x%x@0x%x", FEXT_TO_IDX(inst), inst, state->Reg[15]);
         exit(-1);
         goto invalid;
     }
@@ -1255,17 +1255,17 @@ u32 vfp_single_cpdo(ARMul_State* state, u32 inst, u32 fpscr)
 
         type = (fop->flags & OP_DD) ? 'd' : 's';
         if (op == FOP_EXT)
-            pr_debug("VFP: itr%d (%c%u) = op[%u] (s%u=%08x)\n",
-                     vecitr >> FPSCR_LENGTH_BIT, type, dest, sn,
-                     sm, m);
+            LOG_DEBUG(Core_ARM11, "itr%d (%c%u) = op[%u] (s%u=%08x)",
+                      vecitr >> FPSCR_LENGTH_BIT, type, dest, sn,
+                      sm, m);
         else
-            pr_debug("VFP: itr%d (%c%u) = (s%u) op[%u] (s%u=%08x)\n",
-                     vecitr >> FPSCR_LENGTH_BIT, type, dest, sn,
-                     FOP_TO_IDX(op), sm, m);
+            LOG_DEBUG(Core_ARM11, "itr%d (%c%u) = (s%u) op[%u] (s%u=%08x)",
+                      vecitr >> FPSCR_LENGTH_BIT, type, dest, sn,
+                      FOP_TO_IDX(op), sm, m);
 
         except = fop->fn(state, dest, sn, m, fpscr);
-        pr_debug("VFP: itr%d: exceptions=%08x\n",
-                 vecitr >> FPSCR_LENGTH_BIT, except);
+        LOG_DEBUG(Core_ARM11, "itr%d: exceptions=%08x",
+                  vecitr >> FPSCR_LENGTH_BIT, except);
 
         exceptions |= except;
 
diff --git a/src/core/file_sys/disk_archive.h b/src/core/file_sys/disk_archive.h
index dbbdced745..770bd715e6 100644
--- a/src/core/file_sys/disk_archive.h
+++ b/src/core/file_sys/disk_archive.h
@@ -24,7 +24,7 @@ class DiskArchive : public ArchiveBackend {
 public:
     DiskArchive(const std::string& mount_point_) : mount_point(mount_point_) {}
 
-    virtual std::string GetName() const { return "DiskArchive: " + mount_point; }
+    virtual std::string GetName() const override { return "DiskArchive: " + mount_point; }
 
     std::unique_ptr<FileBackend> OpenFile(const Path& path, const Mode mode) const override;
     bool DeleteFile(const Path& path) const override;
diff --git a/src/core/hle/kernel/timer.cpp b/src/core/hle/kernel/timer.cpp
index 610e26a3c8..1ec2a4b109 100644
--- a/src/core/hle/kernel/timer.cpp
+++ b/src/core/hle/kernel/timer.cpp
@@ -66,7 +66,7 @@ static void TimerCallback(u64 timer_handle, int cycles_late) {
     SharedPtr<Timer> timer = timer_callback_handle_table.Get<Timer>(static_cast<Handle>(timer_handle));
 
     if (timer == nullptr) {
-        LOG_CRITICAL(Kernel, "Callback fired for invalid timer %08X", timer_handle);
+        LOG_CRITICAL(Kernel, "Callback fired for invalid timer %08lX", timer_handle);
         return;
     }