Skip to content

Commit

Permalink
Remove unused support code for refok sections.
Browse files Browse the repository at this point in the history
The old refok sections

  .text.init.refok
  .data.init.refok
  .exit.text.refok

have been deprecated since commit
312b148.  After the other patches in
this patch series nothing is put in these sections, so clean things up
by eliminating all the remaining references to them.

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Tim Abbott authored and Linus Torvalds committed Apr 28, 2009
1 parent a0871e8 commit 27b1833
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 29 deletions.
3 changes: 0 additions & 3 deletions include/asm-generic/vmlinux.lds.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@
/* .data section */
#define DATA_DATA \
*(.data) \
*(.data.init.refok) \
*(.ref.data) \
DEV_KEEP(init.data) \
DEV_KEEP(exit.data) \
Expand Down Expand Up @@ -289,8 +288,6 @@
*(.text.hot) \
*(.text) \
*(.ref.text) \
*(.text.init.refok) \
*(.exit.text.refok) \
DEV_KEEP(init.text) \
DEV_KEEP(exit.text) \
CPU_KEEP(init.text) \
Expand Down
8 changes: 0 additions & 8 deletions include/linux/init.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,6 @@
#define __refdata __section(.ref.data)
#define __refconst __section(.ref.rodata)

/* backward compatibility note
* A few places hardcode the old section names:
* .text.init.refok
* .data.init.refok
* .exit.text.refok
* They should be converted to use the defines from this file
*/

/* compatibility defines */
#define __init_refok __ref
#define __initdata_refok __refdata
Expand Down
18 changes: 0 additions & 18 deletions scripts/mod/modpost.c
Original file line number Diff line number Diff line change
Expand Up @@ -794,15 +794,6 @@ static const char *init_exit_sections[] =
/* data section */
static const char *data_sections[] = { DATA_SECTIONS, NULL };

/* sections that may refer to an init/exit section with no warning */
static const char *initref_sections[] =
{
".text.init.refok*",
".exit.text.refok*",
".data.init.refok*",
NULL
};


/* symbols in .data that may refer to init/exit sections */
static const char *symbol_white_list[] =
Expand Down Expand Up @@ -915,11 +906,6 @@ static int section_mismatch(const char *fromsec, const char *tosec)
/**
* Whitelist to allow certain references to pass with no warning.
*
* Pattern 0:
* Do not warn if funtion/data are marked with __init_refok/__initdata_refok.
* The pattern is identified by:
* fromsec = .text.init.refok* | .data.init.refok*
*
* Pattern 1:
* If a module parameter is declared __initdata and permissions=0
* then this is legal despite the warning generated.
Expand Down Expand Up @@ -958,10 +944,6 @@ static int section_mismatch(const char *fromsec, const char *tosec)
static int secref_whitelist(const char *fromsec, const char *fromsym,
const char *tosec, const char *tosym)
{
/* Check for pattern 0 */
if (match(fromsec, initref_sections))
return 0;

/* Check for pattern 1 */
if (match(tosec, init_data_sections) &&
match(fromsec, data_sections) &&
Expand Down

0 comments on commit 27b1833

Please sign in to comment.