aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/mod/modpost.c56
1 files changed, 28 insertions, 28 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index dbab53a2e225..598d54a0fefb 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -836,14 +836,14 @@ static const char *linker_symbols[] =
836 836
837enum mismatch { 837enum mismatch {
838 NO_MISMATCH, 838 NO_MISMATCH,
839 TEXT_TO_INIT, 839 TEXT_TO_ANY_INIT,
840 DATA_TO_INIT, 840 DATA_TO_ANY_INIT,
841 TEXT_TO_EXIT, 841 TEXT_TO_ANY_EXIT,
842 DATA_TO_EXIT, 842 DATA_TO_ANY_EXIT,
843 XXXINIT_TO_INIT, 843 XXXINIT_TO_SOME_INIT,
844 XXXEXIT_TO_EXIT, 844 XXXEXIT_TO_SOME_EXIT,
845 INIT_TO_EXIT, 845 ANY_INIT_TO_ANY_EXIT,
846 EXIT_TO_INIT, 846 ANY_EXIT_TO_ANY_INIT,
847 EXPORT_TO_INIT_EXIT, 847 EXPORT_TO_INIT_EXIT,
848}; 848};
849 849
@@ -860,70 +860,70 @@ const struct sectioncheck sectioncheck[] = {
860{ 860{
861 .fromsec = { TEXT_SECTIONS, NULL }, 861 .fromsec = { TEXT_SECTIONS, NULL },
862 .tosec = { ALL_INIT_SECTIONS, NULL }, 862 .tosec = { ALL_INIT_SECTIONS, NULL },
863 .mismatch = TEXT_TO_INIT, 863 .mismatch = TEXT_TO_ANY_INIT,
864}, 864},
865{ 865{
866 .fromsec = { DATA_SECTIONS, NULL }, 866 .fromsec = { DATA_SECTIONS, NULL },
867 .tosec = { ALL_INIT_SECTIONS, NULL }, 867 .tosec = { ALL_INIT_SECTIONS, NULL },
868 .mismatch = DATA_TO_INIT, 868 .mismatch = DATA_TO_ANY_INIT,
869}, 869},
870{ 870{
871 .fromsec = { TEXT_SECTIONS, NULL }, 871 .fromsec = { TEXT_SECTIONS, NULL },
872 .tosec = { ALL_EXIT_SECTIONS, NULL }, 872 .tosec = { ALL_EXIT_SECTIONS, NULL },
873 .mismatch = TEXT_TO_EXIT, 873 .mismatch = TEXT_TO_ANY_EXIT,
874}, 874},
875{ 875{
876 .fromsec = { DATA_SECTIONS, NULL }, 876 .fromsec = { DATA_SECTIONS, NULL },
877 .tosec = { ALL_EXIT_SECTIONS, NULL }, 877 .tosec = { ALL_EXIT_SECTIONS, NULL },
878 .mismatch = DATA_TO_EXIT, 878 .mismatch = DATA_TO_ANY_EXIT,
879}, 879},
880/* Do not reference init code/data from devinit/cpuinit/meminit code/data */ 880/* Do not reference init code/data from devinit/cpuinit/meminit code/data */
881{ 881{
882 .fromsec = { ALL_XXXINIT_SECTIONS, NULL }, 882 .fromsec = { ALL_XXXINIT_SECTIONS, NULL },
883 .tosec = { INIT_SECTIONS, NULL }, 883 .tosec = { INIT_SECTIONS, NULL },
884 .mismatch = XXXINIT_TO_INIT, 884 .mismatch = XXXINIT_TO_SOME_INIT,
885}, 885},
886/* Do not reference cpuinit code/data from meminit code/data */ 886/* Do not reference cpuinit code/data from meminit code/data */
887{ 887{
888 .fromsec = { MEM_INIT_SECTIONS, NULL }, 888 .fromsec = { MEM_INIT_SECTIONS, NULL },
889 .tosec = { CPU_INIT_SECTIONS, NULL }, 889 .tosec = { CPU_INIT_SECTIONS, NULL },
890 .mismatch = XXXINIT_TO_INIT, 890 .mismatch = XXXINIT_TO_SOME_INIT,
891}, 891},
892/* Do not reference meminit code/data from cpuinit code/data */ 892/* Do not reference meminit code/data from cpuinit code/data */
893{ 893{
894 .fromsec = { CPU_INIT_SECTIONS, NULL }, 894 .fromsec = { CPU_INIT_SECTIONS, NULL },
895 .tosec = { MEM_INIT_SECTIONS, NULL }, 895 .tosec = { MEM_INIT_SECTIONS, NULL },
896 .mismatch = XXXINIT_TO_INIT, 896 .mismatch = XXXINIT_TO_SOME_INIT,
897}, 897},
898/* Do not reference exit code/data from devexit/cpuexit/memexit code/data */ 898/* Do not reference exit code/data from devexit/cpuexit/memexit code/data */
899{ 899{
900 .fromsec = { ALL_XXXEXIT_SECTIONS, NULL }, 900 .fromsec = { ALL_XXXEXIT_SECTIONS, NULL },
901 .tosec = { EXIT_SECTIONS, NULL }, 901 .tosec = { EXIT_SECTIONS, NULL },
902 .mismatch = XXXEXIT_TO_EXIT, 902 .mismatch = XXXEXIT_TO_SOME_EXIT,
903}, 903},
904/* Do not reference cpuexit code/data from memexit code/data */ 904/* Do not reference cpuexit code/data from memexit code/data */
905{ 905{
906 .fromsec = { MEM_EXIT_SECTIONS, NULL }, 906 .fromsec = { MEM_EXIT_SECTIONS, NULL },
907 .tosec = { CPU_EXIT_SECTIONS, NULL }, 907 .tosec = { CPU_EXIT_SECTIONS, NULL },
908 .mismatch = XXXEXIT_TO_EXIT, 908 .mismatch = XXXEXIT_TO_SOME_EXIT,
909}, 909},
910/* Do not reference memexit code/data from cpuexit code/data */ 910/* Do not reference memexit code/data from cpuexit code/data */
911{ 911{
912 .fromsec = { CPU_EXIT_SECTIONS, NULL }, 912 .fromsec = { CPU_EXIT_SECTIONS, NULL },
913 .tosec = { MEM_EXIT_SECTIONS, NULL }, 913 .tosec = { MEM_EXIT_SECTIONS, NULL },
914 .mismatch = XXXEXIT_TO_EXIT, 914 .mismatch = XXXEXIT_TO_SOME_EXIT,
915}, 915},
916/* Do not use exit code/data from init code */ 916/* Do not use exit code/data from init code */
917{ 917{
918 .fromsec = { ALL_INIT_SECTIONS, NULL }, 918 .fromsec = { ALL_INIT_SECTIONS, NULL },
919 .tosec = { ALL_EXIT_SECTIONS, NULL }, 919 .tosec = { ALL_EXIT_SECTIONS, NULL },
920 .mismatch = INIT_TO_EXIT, 920 .mismatch = ANY_INIT_TO_ANY_EXIT,
921}, 921},
922/* Do not use init code/data from exit code */ 922/* Do not use init code/data from exit code */
923{ 923{
924 .fromsec = { ALL_EXIT_SECTIONS, NULL }, 924 .fromsec = { ALL_EXIT_SECTIONS, NULL },
925 .tosec = { ALL_INIT_SECTIONS, NULL }, 925 .tosec = { ALL_INIT_SECTIONS, NULL },
926 .mismatch = EXIT_TO_INIT, 926 .mismatch = ANY_EXIT_TO_ANY_INIT,
927}, 927},
928/* Do not export init/exit functions or data */ 928/* Do not export init/exit functions or data */
929{ 929{
@@ -1190,7 +1190,7 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
1190 tosym, to_p); 1190 tosym, to_p);
1191 1191
1192 switch (mismatch) { 1192 switch (mismatch) {
1193 case TEXT_TO_INIT: 1193 case TEXT_TO_ANY_INIT:
1194 fprintf(stderr, 1194 fprintf(stderr,
1195 "The function %s%s() references\n" 1195 "The function %s%s() references\n"
1196 "the %s %s%s%s.\n" 1196 "the %s %s%s%s.\n"
@@ -1200,7 +1200,7 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
1200 to, sec2annotation(tosec), tosym, to_p, 1200 to, sec2annotation(tosec), tosym, to_p,
1201 fromsym, sec2annotation(tosec), tosym); 1201 fromsym, sec2annotation(tosec), tosym);
1202 break; 1202 break;
1203 case DATA_TO_INIT: { 1203 case DATA_TO_ANY_INIT: {
1204 const char **s = symbol_white_list; 1204 const char **s = symbol_white_list;
1205 fprintf(stderr, 1205 fprintf(stderr,
1206 "The variable %s references\n" 1206 "The variable %s references\n"
@@ -1214,14 +1214,14 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
1214 fprintf(stderr, "\n"); 1214 fprintf(stderr, "\n");
1215 break; 1215 break;
1216 } 1216 }
1217 case TEXT_TO_EXIT: 1217 case TEXT_TO_ANY_EXIT:
1218 fprintf(stderr, 1218 fprintf(stderr,
1219 "The function %s() references a %s in an exit section.\n" 1219 "The function %s() references a %s in an exit section.\n"
1220 "Often the %s %s%s has valid usage outside the exit section\n" 1220 "Often the %s %s%s has valid usage outside the exit section\n"
1221 "and the fix is to remove the %sannotation of %s.\n", 1221 "and the fix is to remove the %sannotation of %s.\n",
1222 fromsym, to, to, tosym, to_p, sec2annotation(tosec), tosym); 1222 fromsym, to, to, tosym, to_p, sec2annotation(tosec), tosym);
1223 break; 1223 break;
1224 case DATA_TO_EXIT: { 1224 case DATA_TO_ANY_EXIT: {
1225 const char **s = symbol_white_list; 1225 const char **s = symbol_white_list;
1226 fprintf(stderr, 1226 fprintf(stderr,
1227 "The variable %s references\n" 1227 "The variable %s references\n"
@@ -1235,8 +1235,8 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
1235 fprintf(stderr, "\n"); 1235 fprintf(stderr, "\n");
1236 break; 1236 break;
1237 } 1237 }
1238 case XXXINIT_TO_INIT: 1238 case XXXINIT_TO_SOME_INIT:
1239 case XXXEXIT_TO_EXIT: 1239 case XXXEXIT_TO_SOME_EXIT:
1240 fprintf(stderr, 1240 fprintf(stderr,
1241 "The %s %s%s%s references\n" 1241 "The %s %s%s%s references\n"
1242 "a %s %s%s%s.\n" 1242 "a %s %s%s%s.\n"
@@ -1246,7 +1246,7 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
1246 to, sec2annotation(tosec), tosym, to_p, 1246 to, sec2annotation(tosec), tosym, to_p,
1247 tosym, fromsym, tosym); 1247 tosym, fromsym, tosym);
1248 break; 1248 break;
1249 case INIT_TO_EXIT: 1249 case ANY_INIT_TO_ANY_EXIT:
1250 fprintf(stderr, 1250 fprintf(stderr,
1251 "The %s %s%s%s references\n" 1251 "The %s %s%s%s references\n"
1252 "a %s %s%s%s.\n" 1252 "a %s %s%s%s.\n"
@@ -1259,7 +1259,7 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
1259 to, sec2annotation(tosec), tosym, to_p, 1259 to, sec2annotation(tosec), tosym, to_p,
1260 sec2annotation(tosec), tosym, to_p); 1260 sec2annotation(tosec), tosym, to_p);
1261 break; 1261 break;
1262 case EXIT_TO_INIT: 1262 case ANY_EXIT_TO_ANY_INIT:
1263 fprintf(stderr, 1263 fprintf(stderr,
1264 "The %s %s%s%s references\n" 1264 "The %s %s%s%s references\n"
1265 "a %s %s%s%s.\n" 1265 "a %s %s%s%s.\n"