| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The next major GC after an unloadObj() will do a traversal of the heap
to determine whether the object code can be removed from memory or
not. We'll keep doing these until it is safe to remove the object
code.
In my experiments with GHCi, the objects get unloaded immediately,
which is a good sign: we're not accidentally holding on to any
references anywhere in the GHC data structures.
Changes relative to the patch earlier posted on the ticket:
- fix two memory leaks discovered with Valgrind, after
testing with tests/rts/linker_unload.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for ELF objects on ARM to the runtime linker. While the list of
relocation types in the "ELF for the ARM Architecture" specification spans four
pages, we thankfully only see a handful of these in the wild. Thus, at the
moment we only support the following .rel relocation types,
* R_ARM_ABS32
* R_ARM_TARGET1
* R_ARM_REL32
* R_ARM_CALL
* R_ARM_JUMP24
* R_ARM_MOVT_ABS
* R_ARM_MOVW_ABS_NC
* R_ARM_THM_CALL
* R_ARM_THM_JUMP24
* R_ARM_THM_MOVT_ABS
* R_ARM_THM_MOVW_ABS_NC
* R_ARM_THM_JUMP8
* R_ARM_THM_JUMP11
Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
|
|
|
|
|
| |
I haven't been able to test whether this works or not due to #5754,
but at least it doesn't appear to break anything.
|
|
|
|
|
| |
struct _ObjectCode should be able to retain the name of archive members.
Though currently the only use of those names are for debugging outputs.
|
|
|
|
| |
Which was being used seemed to be random
|
|
|
|
|
|
|
|
| |
This patch does not apply to Windows. It only applies to systems with
ELF binaries.
This is a patch to rts/Linker.c to recognize linker scripts in .so
files and find the real target .so shared library for loading.
|
| |
|
| |
|
| |
|
|
|
|
| |
Initial support for loading x86_64 Mach-O files
|
|
Most of the other users of the fptools build system have migrated to
Cabal, and with the move to darcs we can now flatten the source tree
without losing history, so here goes.
The main change is that the ghc/ subdir is gone, and most of what it
contained is now at the top level. The build system now makes no
pretense at being multi-project, it is just the GHC build system.
No doubt this will break many things, and there will be a period of
instability while we fix the dependencies. A straightforward build
should work, but I haven't yet fixed binary/source distributions.
Changes to the Building Guide will follow, too.
|