From: "Luis R. Rodriguez"
This will be used later by the userspace linker table.
Signed-off-by: Luis R. Rodriguez
---
tools/include/linux/compiler.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/include/linux/compiler.h b/tools/include/linux/compiler.h
index 556c991de212..6321265
From: "Luis R. Rodriguez"
This will be used later by the linker-table userspace sandbox.
Signed-off-by: Luis R. Rodriguez
---
tools/include/linux/export.h | 22 ++
1 file changed, 22 insertions(+)
diff --git a/tools/include/linux/export.h b/tools/include/linux/export.h
ind
From: "Luis R. Rodriguez"
Start off with just __ref -- we enalbe you to override, if you do
that then you can define your own. The way you'd use this, if you
do override, is define your own __ref and then use include_next.
Signed-off-by: Luis R. Rodriguez
---
tools/include/linux/init.h | 9 +++
er tables into the kernel:
https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linux-next.git/log/?h=20160819-linker-table-v4
Please let me know if there are any issue or questions.
Luis R. Rodriguez (7):
tools: add a userspace tools b
From: "Luis R. Rodriguez"
This will be used later by the userspace linker-tables sandbox.
As a convenience, include bug.h on kernel.h -- this is not done
on upstream kernel.h, however most header files do include bug.h
eventually, if we were to only add the ones that need it we'd
need to copy a l
From: "Luis R. Rodriguez"
This will be used later by the userspace linker-tables sandbox.
Since upstream kernel.h includes printk.h mimic this so we can
match and replicate C code as-is on userspace sandbox tools.
Signed-off-by: Luis R. Rodriguez
---
tools/include/linux/kernel.h | 1 +
tools/
From: "Luis R. Rodriguez"
This adds __used, to be used later in the userspace linker-tables
sandbox. If any userspace applicaiton wants to override they can
add their own definition and then use include_next.
This definition should probably suffice for most uses cases though.
Signed-off-by: Lui
From: "Luis R. Rodriguez"
kprobe makes use of two custom sections, each custom section
is folded into one of the standard Linux sections types as follows,
it currently relies on the linker script to fold the custom section
onto the respective Linux section:
type Linux-section custom section nam
From: "Luis R. Rodriguez"
Often all is needed is these small helpers, instead of compiler.h
or a full kprobes.h. This is important for asm helpers, in fact even
some asm/kprobes.h make use of these helpers... instead just keep a
generic asm file with helpers useful for asm code with the least amo
From: "Luis R. Rodriguez"
If you modify the target asm we currently do not force the
recompilation of the firmware files. The target asm is in
the firmware/Makefile, peg this file as a dependency to
require re-compilation of firmware targets when the asm
changes.
v3: introduced in this series
S
From: "Luis R. Rodriguez"
This removes the custom vmlinux.lds.h hacks and uses
the generalized solution for .data (SECTION_DATA)
entries.
This is much more potential for further fine tuning here
though in the future. For instance, linker tables enable
an extra postfix for order level annotations
From: "Luis R. Rodriguez"
kprobe makes use of two sections, the one dealing with the actual
kprobes was recently ported using the standard section range API.
The blacklist functionality of kprobes is still using a custom
section and declaring its custom section using the linker script
as follows:
From: "Luis R. Rodriguez"
Linux provides a rich array of features, enabling each feature
however increases the size of the kernel and there are many
features which users often want disabled. The traditional
solution to this problem is for each feature to have its own
Kconfig symbol, followed by a
From: "Luis R. Rodriguez"
Section ranges are on one of the types of custom sections
types used in Linux. This provides a series of helpers for
defining them and using them. Most importantly this also
enables us to avoid modifying the linker script when we
add a new section range.
It turns out a
From: "Luis R. Rodriguez"
The ending header guard is misplaced. This has no
functional change, this is just an eye-sore.
Signed-off-by: Luis R. Rodriguez
---
include/linux/jump_label.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/jump_label.h b/include/
From: "Luis R. Rodriguez"
When SORT(foo.*) is used the current sed replacements add
SORT(foo.literal foo.*), this breaks linking. Avoid adding
literals for SORT globs, if needed, these need to be added
manually.
Signed-off-by: Luis R. Rodriguez
---
arch/xtensa/kernel/Makefile | 8
1 f
From: "Luis R. Rodriguez"
Move the __jump_table from the a custom section solution
to a generic solution, this avoiding extra vmlinux.lds.h
customizations.
This also demos the use of the .data (SECTION_DATA) linker
table and of the shared asm call push_section_tbl().
Built-in kernel functionali
Luis R. Rodriguez"
+M: "H. Peter Anvin"
+L: linux-a...@vger.kernel.org
+L: linux-ker...@vger.kernel.org
+T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git
sections
+T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
s
From: "Luis R. Rodriguez"
This ports built-in firmware to use linker tables,
this replaces the custom section solution with a
generic solution.
This also demos the use of the .rodata (SECTION_RO)
linker tables.
Tested with 0 built-in firmware, 1 and 2 built-in
firmwares successfully.
v4:
o wo
20 @@ S: Supported
F: drivers/base/power/domain*.c
F: include/linux/pm_domain.h
+GENERIC SECTIONS
+M: "Luis R. Rodriguez"
+M: Josh Poimboeuf
+M: "H. Peter Anvin"
+L: linux-a...@vger.kernel.org
+L: linux-ker...@vger.kernel.org
+T: git gi
Luis R. Rodriguez"
+M: "H. Peter Anvin"
+L: linux-a...@vger.kernel.org
+L: linux-ker...@vger.kernel.org
+T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git
sections
+T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
s
el.org
If you'd like this in git-form, you can get it on the 20160819-linker-table-v4
branch of my linux-next tree on kernel.org, this also includes the series of
the linker table userspace sandbox:
https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linux-next.git/log/?h=20160819-linker-t
From: "Luis R. Rodriguez"
The setup for LTO never made it upstream, and although this has
some users, this is now really old stuff for a gcc 4.7 LTO problem.
We know that at least LTO_REFERENCE_INITCALL() work around can
be removed if LTO is not supported on v4.7 anymore.
As per Andi the DISABLE
From: "Luis R. Rodriguez"
This ports built-in firmware to use linker tables,
this replaces the custom section solution with a
generic solution.
This also demos the use of the .rodata (SECTION_RO)
linker tables.
Tested with 0 built-in firmware, 1 and 2 built-in
firmwares successfully.
v4:
o wo
From: "Luis R. Rodriguez"
If you modify the target asm we currently do not force the
recompilation of the firmware files. The target asm is in
the firmware/Makefile, peg this file as a dependency to
require re-compilation of firmware targets when the asm
changes.
v3: introduced in this series
S
From: "Luis R. Rodriguez"
scripts/module-common.lds is currently pretty static, in the
future this may change and we will want access to kernel macros
to help expands certain areas. To get access to use macros we
need to generate module-common.lds from module-common.lds.S, for
now though only ena
From: "Luis R. Rodriguez"
sections.h is currently included and it provides dell-smo8800
with what it needs, an upcoming change will decouple uaccess.h
from sections.h. This driver needs to explicitly require uaccess.h
before this change.
v3: new to this series -- needed due to collateral of the
el.org
If you'd like this in git-form, you can get it on the 20160819-linker-table-v4
branch of my linux-next tree on kernel.org, this also includes the series of
the linker table userspace sandbox:
https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linux-next.git/log/?h=20160819-linker-t
20 @@ S: Supported
F: drivers/base/power/domain*.c
F: include/linux/pm_domain.h
+GENERIC SECTIONS
+M: "Luis R. Rodriguez"
+M: Josh Poimboeuf
+M: "H. Peter Anvin"
+L: linux-a...@vger.kernel.org
+L: linux-ker...@vger.kernel.org
+T: git gi
From: "Luis R. Rodriguez"
Linux provides a rich array of features, enabling each feature
however increases the size of the kernel and there are many
features which users often want disabled. The traditional
solution to this problem is for each feature to have its own
Kconfig symbol, followed by a
From: "Luis R. Rodriguez"
The setup for LTO never made it upstream, and although this has
some users, this is now really old stuff for a gcc 4.7 LTO problem.
We know that at least LTO_REFERENCE_INITCALL() work around can
be removed if LTO is not supported on v4.7 anymore.
As per Andi the DISABLE
From: "Luis R. Rodriguez"
Section ranges are on one of the types of custom sections
types used in Linux. This provides a series of helpers for
defining them and using them. Most importantly this also
enables us to avoid modifying the linker script when we
add a new section range.
It turns out a
From: "Luis R. Rodriguez"
When SORT(foo.*) is used the current sed replacements add
SORT(foo.literal foo.*), this breaks linking. Avoid adding
literals for SORT globs, if needed, these need to be added
manually.
Signed-off-by: Luis R. Rodriguez
---
arch/xtensa/kernel/Makefile | 8
1 f
From: "Luis R. Rodriguez"
scripts/module-common.lds is currently pretty static, in the
future this may change and we will want access to kernel macros
to help expands certain areas. To get access to use macros we
need to generate module-common.lds from module-common.lds.S, for
now though only ena
From: "Luis R. Rodriguez"
sections.h is currently included and it provides dell-smo8800
with what it needs, an upcoming change will decouple uaccess.h
from sections.h. This driver needs to explicitly require uaccess.h
before this change.
v3: new to this series -- needed due to collateral of the
35 matches
Mail list logo