The Amiga HUNK file format allows you to have both relative and absolute addressing on the data chunks. A file can contain a combination of many different HUNK types.
In short, when the EXEC loader hits a relocateable chunk (for example HUNK_RELOC32, $000003f7), the contents are loaded into an allocated memory space. The loader then proceeds to work on a lookup-table (also provided by the HUNK file) which contains the addresses to adjust accordingly.