Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
a358e2a5
Commit
a358e2a5
authored
Jan 15, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://linux-isdn.bkbits.net/linux-2.5.make
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
c9b1ca0d
89f97c42
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
60 additions
and
66 deletions
+60
-66
Documentation/Changes
Documentation/Changes
+1
-1
arch/ia64/vmlinux.lds.S
arch/ia64/vmlinux.lds.S
+5
-23
include/asm-generic/vmlinux.lds.h
include/asm-generic/vmlinux.lds.h
+33
-24
include/linux/module.h
include/linux/module.h
+15
-9
kernel/kallsyms.c
kernel/kallsyms.c
+4
-7
scripts/kallsyms.c
scripts/kallsyms.c
+1
-1
scripts/per-cpu-check.awk
scripts/per-cpu-check.awk
+1
-1
No files found.
Documentation/Changes
View file @
a358e2a5
...
...
@@ -52,7 +52,7 @@ o Gnu C 2.95.3 # gcc --version
o Gnu make 3.78 # make --version
o binutils 2.9.5.0.25 # ld -v
o util-linux 2.10o # fdformat --version
o module-init-tools 0.9
# rmmod -V
o module-init-tools 0.9
.8
# rmmod -V
o e2fsprogs 1.29 # tune2fs
o jfsutils 1.0.14 # fsck.jfs -V
o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs
...
...
arch/ia64/vmlinux.lds.S
View file @
a358e2a5
...
...
@@ -4,6 +4,9 @@
#include <asm/ptrace.h>
#include <asm/system.h>
#define LOAD_OFFSET PAGE_OFFSET
#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT
("
elf64
-
ia64
-
little
")
OUTPUT_ARCH
(
ia64
)
ENTRY
(
phys_start
)
...
...
@@ -60,23 +63,6 @@ SECTIONS
machvec_end
=
.
;
#endif
__start___ksymtab
=
.
; /* Kernel symbol table */
__ksymtab
:
AT
(
ADDR
(
__ksymtab
)
-
PAGE_OFFSET
)
{
*(
__ksymtab
)
}
__stop___ksymtab
=
.
;
__start___gpl_ksymtab
=
.
; /* Kernel symbol table: GPL only */
__gpl_ksymtab
:
AT
(
ADDR
(
__gpl_ksymtab
)
-
PAGE_OFFSET
)
{
*(
__gpl_ksymtab
)
}
__stop___gpl_ksymtab
=
.
;
__kallsyms
:
AT
(
ADDR
(
__kallsyms
)
-
PAGE_OFFSET
)
{
__start___kallsyms
=
.
; /* All kernel symbols */
*(
__kallsyms
)
__stop___kallsyms
=
.
;
}
/
*
Unwind
info
&
table
:
*/
.
=
ALIGN
(
8
)
;
.
IA_64
.
unwind_info
:
AT
(
ADDR
(
.
IA_64
.
unwind_info
)
-
PAGE_OFFSET
)
...
...
@@ -86,12 +72,8 @@ SECTIONS
{
*(
.
IA_64
.
unwind
*)
}
ia64_unw_end
=
.
;
.
rodata
:
AT
(
ADDR
(
.
rodata
)
-
PAGE_OFFSET
)
{
*(
.
rodata
)
*(
.
rodata
.
*)
}
.
kstrtab
:
AT
(
ADDR
(
.
kstrtab
)
-
PAGE_OFFSET
)
{
*(
.
kstrtab
)
}
__vermagic
:
AT
(
ADDR
(
__vermagic
)
-
PAGE_OFFSET
)
{
*(
__vermagic
)
}
RODATA
.
opd
:
AT
(
ADDR
(
.
opd
)
-
PAGE_OFFSET
)
{
*(
.
opd
)
}
...
...
include/asm-generic/vmlinux.lds.h
View file @
a358e2a5
#define RODATA \
.rodata : { *(.rodata) *(.rodata.*) *(.rodata1) } \
.rodata1 : { *(.rodata1) } \
\
.kstrtab : { *(.kstrtab) } \
\
/* Kernel version magic */
\
__vermagic : { *(__vermagic) } \
\
/* Kernel symbol table */
\
. = ALIGN(64); \
__start___ksymtab = .; \
__ksymtab : { *(__ksymtab) } \
__stop___ksymtab = .; \
\
/* Kernel symbol table: GPL-only symbols */
\
__start___gpl_ksymtab = .; \
__gpl_ksymtab : { *(__gpl_ksymtab) } \
__stop___gpl_ksymtab = .; \
\
/* All kernel symbols */
\
__start___kallsyms = .; \
__kallsyms : { *(__kallsyms) } \
__stop___kallsyms = .;
#ifndef LOAD_OFFSET
#define LOAD_OFFSET 0
#endif
#define RODATA \
.rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
*(.rodata) *(.rodata.*) \
*(__vermagic)
/* Kernel version magic */
\
} \
\
.rodata1 : AT(ADDR(.rodata1) - LOAD_OFFSET) { \
*(.rodata1) \
} \
\
/* Kernel symbol table: Normal symbols */
\
__start___ksymtab = .; \
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
*(__ksymtab) \
} \
__stop___ksymtab = .; \
\
/* Kernel symbol table: GPL-only symbols */
\
__start___gpl_ksymtab = .; \
__gpl_ksymtab : AT(ADDR(__gpl_ksymtab) - LOAD_OFFSET) { \
*(__gpl_ksymtab) \
} \
__stop___gpl_ksymtab = .; \
\
/* Kernel symbol table: strings */
\
__ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
*(__ksymtab_strings) \
}
include/linux/module.h
View file @
a358e2a5
...
...
@@ -36,7 +36,7 @@
struct
kernel_symbol
{
unsigned
long
value
;
c
har
name
[
MODULE_NAME_LEN
]
;
c
onst
char
*
name
;
};
/* These are either module local, or the kernel's dummy ones. */
...
...
@@ -140,17 +140,23 @@ void *__symbol_get_gpl(const char *symbol);
#define symbol_get(x) ((typeof(&x))(__symbol_get(MODULE_SYMBOL_PREFIX #x)))
/* For every exported symbol, place a struct in the __ksymtab section */
#define EXPORT_SYMBOL(sym) \
const struct kernel_symbol __ksymtab_##sym \
__attribute__((section("__ksymtab"))) \
= { (unsigned long)&sym, MODULE_SYMBOL_PREFIX #sym }
#define EXPORT_SYMBOL(sym) \
static const char __kstrtab_##sym[] \
__attribute__((section("__ksymtab_strings"))) \
= MODULE_SYMBOL_PREFIX #sym; \
static const struct kernel_symbol __ksymtab_##sym \
__attribute__((section("__ksymtab"))) \
= { (unsigned long)&sym, __kstrtab_##sym }
#define EXPORT_SYMBOL_NOVERS(sym) EXPORT_SYMBOL(sym)
#define EXPORT_SYMBOL_GPL(sym) \
const struct kernel_symbol __ksymtab_##sym \
__attribute__((section("__gpl_ksymtab"))) \
= { (unsigned long)&sym, #sym }
#define EXPORT_SYMBOL_GPL(sym) \
static const char __kstrtab_##sym[] \
__attribute__((section("__ksymtab_strings"))) \
= MODULE_SYMBOL_PREFIX #sym; \
static const struct kernel_symbol __ksymtab_##sym \
__attribute__((section("__gpl_ksymtab"))) \
= { (unsigned long)&sym, __kstrtab_##sym }
struct
module_ref
{
...
...
kernel/kallsyms.c
View file @
a358e2a5
...
...
@@ -9,12 +9,10 @@
#include <linux/kallsyms.h>
#include <linux/module.h>
static
char
kallsyms_dummy
;
/* These will be re-linked against their real values during the second link stage */
extern
unsigned
long
kallsyms_addresses
[
1
]
__attribute__
((
weak
,
alias
(
"kallsyms_dummy"
)
));
extern
unsigned
long
kallsyms_num_syms
__attribute__
((
weak
,
alias
(
"kallsyms_dummy"
)
));
extern
char
kallsyms_names
[
1
]
__attribute__
((
weak
,
alias
(
"kallsyms_dummy"
)
));
extern
unsigned
long
kallsyms_addresses
[
]
__attribute__
((
weak
));
extern
unsigned
long
kallsyms_num_syms
__attribute__
((
weak
));
extern
char
kallsyms_names
[
]
__attribute__
((
weak
));
/* Defined by the linker script. */
extern
char
_stext
[],
_etext
[];
...
...
@@ -28,8 +26,7 @@ const char *kallsyms_lookup(unsigned long addr,
unsigned
long
i
,
best
=
0
;
/* This kernel should never had been booted. */
if
((
void
*
)
kallsyms_addresses
==
&
kallsyms_dummy
)
BUG
();
BUG_ON
(
!
kallsyms_addresses
);
namebuf
[
127
]
=
0
;
namebuf
[
0
]
=
0
;
...
...
scripts/kallsyms.c
View file @
a358e2a5
...
...
@@ -144,7 +144,7 @@ write_src(void)
for
(
k
=
0
;
table
[
i
].
sym
[
k
]
&&
table
[
i
].
sym
[
k
]
==
prev
[
k
];
++
k
)
;
printf
(
"
\t
.byte 0x%02x
;
.asciz
\t\"
%s
\"\n
"
,
k
,
table
[
i
].
sym
+
k
);
printf
(
"
\t
.byte 0x%02x
\n\t
.asciz
\t\"
%s
\"\n
"
,
k
,
table
[
i
].
sym
+
k
);
last_addr
=
table
[
i
].
addr
;
prev
=
table
[
i
].
sym
;
}
...
...
scripts/per-cpu-check.awk
View file @
a358e2a5
...
...
@@ -6,7 +6,7 @@
IN_PER_CPU
=
0
}
/__per_cpu$$/
&&
!
/ __ksymtab_/
{
/__per_cpu$$/
&&
!
(
/ __ksymtab_/
||
/ __kstrtab_/
)
{
if
(
!
IN_PER_CPU
)
{
print
$$3
" not in per-cpu section"
>
"/dev/stderr"
;
FOUND
=
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment