mirror of
https://github.com/apache/nuttx.git
synced 2026-05-28 03:45:50 +08:00
binfmt/ and sched/group: Re-architect the way that loadable ELF or NXFLAT modules are unloaded. Memory resources must be recovered when the task loaded into memory exits. The originmal implementatino used the death-of-child SIGCHLD signal to perform the unload. There are several problems with this: It is overly complex, it requires that the parent task stay resident while the loaded task runs, and it has fatal logic flaws in the protected and kernel model builds because the user signal handler attempts to run in the kernel address space. This commit corrects with using a mindlessly simply BINFMT callback when the task exits.
This commit is contained in:
+15
-4
@@ -28,9 +28,23 @@ config PATH_INITIAL
|
||||
The initial value of the PATH variable. This is the colon-separated
|
||||
list of absolute paths. E.g., "/bin:/usr/bin:/sbin"
|
||||
|
||||
config BINFMT_LOADABLE
|
||||
bool
|
||||
default n
|
||||
---help---
|
||||
Automatically selected if a loadable binary format is selected.
|
||||
|
||||
config PIC
|
||||
bool
|
||||
default n
|
||||
---help---
|
||||
Automatically selected if the binary format requires position
|
||||
independent operation.
|
||||
|
||||
config NXFLAT
|
||||
bool "Enable the NXFLAT Binary Format"
|
||||
default n
|
||||
select BINFMT_LOADABLE
|
||||
select PIC
|
||||
---help---
|
||||
Enable support for the NXFLAT binary format. Default: n
|
||||
@@ -42,6 +56,7 @@ endif
|
||||
config ELF
|
||||
bool "Enable the ELF Binary Format"
|
||||
default n
|
||||
select BINFMT_LOADABLE
|
||||
select LIBC_ARCH_ELF
|
||||
---help---
|
||||
Enable support for the ELF binary format. Default: n
|
||||
@@ -96,10 +111,6 @@ endif
|
||||
|
||||
endif
|
||||
|
||||
config PIC
|
||||
bool
|
||||
default n
|
||||
|
||||
config BINFMT_CONSTRUCTORS
|
||||
bool "C++ Static Constructor Support"
|
||||
default n
|
||||
|
||||
Reference in New Issue
Block a user