[PATCH] ARM: generation of .ARM.exidx/.ARM.extab sections

Rui Ueyama ruiu at google.com
Tue Apr 28 12:38:08 PDT 2015


LGTM with nits


REPOSITORY
  rL LLVM

================
Comment at: lib/ReaderWriter/ELF/ARM/ARMELFFile.h:29
@@ +28,3 @@
+      return _permissions;
+
+    if (_section->sh_type == llvm::ELF::SHT_ARM_EXIDX)
----------------
nit: I'd remove this blank line (and other two lines below after dangling if).

================
Comment at: lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h:70
@@ -69,2 +69,3 @@
   }
-  // TODO: resolve addresses of __exidx_start/_end atoms
+
+  if (auto ehdr = _armLayout.findAbsoluteAtom("__ehdr_start"))
----------------
Can you keep and update the comment, so that it's clear what we are doing here?

================
Comment at: lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h:23
@@ -22,1 +22,3 @@
 
+class ARMExidxSection : public AtomSection<ELF32LE> {
+  typedef AtomSection<ELF32LE> Base;
----------------
A brief comment about what this class is for would be needed.

================
Comment at: lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h:81
@@ +80,3 @@
+        .StartsWith(".ARM.extab", ".ARM.extab")
+        .Default(TargetLayout<ELF32LE>::getOutputSectionName(
+            archivePath, memberPath, inputSectionName));
----------------
Does just "TargetLayout" (without <>) work?

================
Comment at: lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h:90
@@ +89,3 @@
+    default:
+      return TargetLayout<ELF32LE>::getSegmentType(section);
+    }
----------------
Ditto

http://reviews.llvm.org/D9324

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list