+ // Add a memory region.
+ void
+ add_memory_region(const char*, size_t, unsigned int,
+ Expression*, Expression*);
+
+ // Find a memory region's origin.
+ Expression*
+ find_memory_region_origin(const char*, size_t);
+
+ // Find a memory region's length.
+ Expression*
+ find_memory_region_length(const char*, size_t);
+
+ // Find a memory region by name.
+ Memory_region*
+ find_memory_region(const char*, size_t);
+
+ // Find a memory region that should be used by a given output section.
+ Memory_region*
+ find_memory_region(Output_section_definition*, bool,
+ Output_section_definition**);
+
+ // Returns true if the provide block of memory is contained
+ // within a memory region.
+ bool
+ block_in_region(Symbol_table*, Layout*, uint64_t, uint64_t) const;
+
+ // Set the memory region of the section.
+ void
+ set_memory_region(Memory_region*, bool);
+