diff options
Diffstat (limited to 'scripts/gcc-plugins')
| -rw-r--r-- | scripts/gcc-plugins/cyc_complexity_plugin.c | 4 | ||||
| -rw-r--r-- | scripts/gcc-plugins/gcc-common.h | 1 | ||||
| -rw-r--r-- | scripts/gcc-plugins/latent_entropy_plugin.c | 25 | ||||
| -rw-r--r-- | scripts/gcc-plugins/sancov_plugin.c | 4 |
4 files changed, 17 insertions, 17 deletions
diff --git a/scripts/gcc-plugins/cyc_complexity_plugin.c b/scripts/gcc-plugins/cyc_complexity_plugin.c index 34df974c6ba3..8af7db06122d 100644 --- a/scripts/gcc-plugins/cyc_complexity_plugin.c +++ b/scripts/gcc-plugins/cyc_complexity_plugin.c | |||
| @@ -20,7 +20,7 @@ | |||
| 20 | 20 | ||
| 21 | #include "gcc-common.h" | 21 | #include "gcc-common.h" |
| 22 | 22 | ||
| 23 | int plugin_is_GPL_compatible; | 23 | __visible int plugin_is_GPL_compatible; |
| 24 | 24 | ||
| 25 | static struct plugin_info cyc_complexity_plugin_info = { | 25 | static struct plugin_info cyc_complexity_plugin_info = { |
| 26 | .version = "20160225", | 26 | .version = "20160225", |
| @@ -49,7 +49,7 @@ static unsigned int cyc_complexity_execute(void) | |||
| 49 | 49 | ||
| 50 | #include "gcc-generate-gimple-pass.h" | 50 | #include "gcc-generate-gimple-pass.h" |
| 51 | 51 | ||
| 52 | int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) | 52 | __visible int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) |
| 53 | { | 53 | { |
| 54 | const char * const plugin_name = plugin_info->base_name; | 54 | const char * const plugin_name = plugin_info->base_name; |
| 55 | struct register_pass_info cyc_complexity_pass_info; | 55 | struct register_pass_info cyc_complexity_pass_info; |
diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h index 172850bcd0d9..950fd2e64bb7 100644 --- a/scripts/gcc-plugins/gcc-common.h +++ b/scripts/gcc-plugins/gcc-common.h | |||
| @@ -130,6 +130,7 @@ extern void dump_gimple_stmt(pretty_printer *, gimple, int, int); | |||
| 130 | #endif | 130 | #endif |
| 131 | 131 | ||
| 132 | #define __unused __attribute__((__unused__)) | 132 | #define __unused __attribute__((__unused__)) |
| 133 | #define __visible __attribute__((visibility("default"))) | ||
| 133 | 134 | ||
| 134 | #define DECL_NAME_POINTER(node) IDENTIFIER_POINTER(DECL_NAME(node)) | 135 | #define DECL_NAME_POINTER(node) IDENTIFIER_POINTER(DECL_NAME(node)) |
| 135 | #define DECL_NAME_LENGTH(node) IDENTIFIER_LENGTH(DECL_NAME(node)) | 136 | #define DECL_NAME_LENGTH(node) IDENTIFIER_LENGTH(DECL_NAME(node)) |
diff --git a/scripts/gcc-plugins/latent_entropy_plugin.c b/scripts/gcc-plugins/latent_entropy_plugin.c index ff1939b804ae..8160f1c1b56e 100644 --- a/scripts/gcc-plugins/latent_entropy_plugin.c +++ b/scripts/gcc-plugins/latent_entropy_plugin.c | |||
| @@ -77,7 +77,7 @@ | |||
| 77 | 77 | ||
| 78 | #include "gcc-common.h" | 78 | #include "gcc-common.h" |
| 79 | 79 | ||
| 80 | int plugin_is_GPL_compatible; | 80 | __visible int plugin_is_GPL_compatible; |
| 81 | 81 | ||
| 82 | static GTY(()) tree latent_entropy_decl; | 82 | static GTY(()) tree latent_entropy_decl; |
| 83 | 83 | ||
| @@ -340,7 +340,7 @@ static enum tree_code get_op(tree *rhs) | |||
| 340 | break; | 340 | break; |
| 341 | } | 341 | } |
| 342 | if (rhs) | 342 | if (rhs) |
| 343 | *rhs = build_int_cstu(unsigned_intDI_type_node, random_const); | 343 | *rhs = build_int_cstu(long_unsigned_type_node, random_const); |
| 344 | return op; | 344 | return op; |
| 345 | } | 345 | } |
| 346 | 346 | ||
| @@ -372,7 +372,7 @@ static void __perturb_latent_entropy(gimple_stmt_iterator *gsi, | |||
| 372 | enum tree_code op; | 372 | enum tree_code op; |
| 373 | 373 | ||
| 374 | /* 1. create temporary copy of latent_entropy */ | 374 | /* 1. create temporary copy of latent_entropy */ |
| 375 | temp = create_var(unsigned_intDI_type_node, "tmp_latent_entropy"); | 375 | temp = create_var(long_unsigned_type_node, "temp_latent_entropy"); |
| 376 | 376 | ||
| 377 | /* 2. read... */ | 377 | /* 2. read... */ |
| 378 | add_referenced_var(latent_entropy_decl); | 378 | add_referenced_var(latent_entropy_decl); |
| @@ -459,13 +459,13 @@ static void init_local_entropy(basic_block bb, tree local_entropy) | |||
| 459 | gsi_insert_before(&gsi, call, GSI_NEW_STMT); | 459 | gsi_insert_before(&gsi, call, GSI_NEW_STMT); |
| 460 | update_stmt(call); | 460 | update_stmt(call); |
| 461 | 461 | ||
| 462 | udi_frame_addr = fold_convert(unsigned_intDI_type_node, frame_addr); | 462 | udi_frame_addr = fold_convert(long_unsigned_type_node, frame_addr); |
| 463 | assign = gimple_build_assign(local_entropy, udi_frame_addr); | 463 | assign = gimple_build_assign(local_entropy, udi_frame_addr); |
| 464 | gsi_insert_after(&gsi, assign, GSI_NEW_STMT); | 464 | gsi_insert_after(&gsi, assign, GSI_NEW_STMT); |
| 465 | update_stmt(assign); | 465 | update_stmt(assign); |
| 466 | 466 | ||
| 467 | /* 3. create temporary copy of latent_entropy */ | 467 | /* 3. create temporary copy of latent_entropy */ |
| 468 | tmp = create_var(unsigned_intDI_type_node, "tmp_latent_entropy"); | 468 | tmp = create_var(long_unsigned_type_node, "temp_latent_entropy"); |
| 469 | 469 | ||
| 470 | /* 4. read the global entropy variable into local entropy */ | 470 | /* 4. read the global entropy variable into local entropy */ |
| 471 | add_referenced_var(latent_entropy_decl); | 471 | add_referenced_var(latent_entropy_decl); |
| @@ -480,7 +480,7 @@ static void init_local_entropy(basic_block bb, tree local_entropy) | |||
| 480 | update_stmt(assign); | 480 | update_stmt(assign); |
| 481 | 481 | ||
| 482 | rand_cst = get_random_const(); | 482 | rand_cst = get_random_const(); |
| 483 | rand_const = build_int_cstu(unsigned_intDI_type_node, rand_cst); | 483 | rand_const = build_int_cstu(long_unsigned_type_node, rand_cst); |
| 484 | op = get_op(NULL); | 484 | op = get_op(NULL); |
| 485 | assign = create_assign(op, local_entropy, local_entropy, rand_const); | 485 | assign = create_assign(op, local_entropy, local_entropy, rand_const); |
| 486 | gsi_insert_after(&gsi, assign, GSI_NEW_STMT); | 486 | gsi_insert_after(&gsi, assign, GSI_NEW_STMT); |
| @@ -529,7 +529,7 @@ static unsigned int latent_entropy_execute(void) | |||
| 529 | } | 529 | } |
| 530 | 530 | ||
| 531 | /* 1. create the local entropy variable */ | 531 | /* 1. create the local entropy variable */ |
| 532 | local_entropy = create_var(unsigned_intDI_type_node, "local_entropy"); | 532 | local_entropy = create_var(long_unsigned_type_node, "local_entropy"); |
| 533 | 533 | ||
| 534 | /* 2. initialize the local entropy variable */ | 534 | /* 2. initialize the local entropy variable */ |
| 535 | init_local_entropy(bb, local_entropy); | 535 | init_local_entropy(bb, local_entropy); |
| @@ -561,10 +561,9 @@ static void latent_entropy_start_unit(void *gcc_data __unused, | |||
| 561 | if (in_lto_p) | 561 | if (in_lto_p) |
| 562 | return; | 562 | return; |
| 563 | 563 | ||
| 564 | /* extern volatile u64 latent_entropy */ | 564 | /* extern volatile unsigned long latent_entropy */ |
| 565 | gcc_assert(TYPE_PRECISION(long_long_unsigned_type_node) == 64); | 565 | quals = TYPE_QUALS(long_unsigned_type_node) | TYPE_QUAL_VOLATILE; |
| 566 | quals = TYPE_QUALS(long_long_unsigned_type_node) | TYPE_QUAL_VOLATILE; | 566 | type = build_qualified_type(long_unsigned_type_node, quals); |
| 567 | type = build_qualified_type(long_long_unsigned_type_node, quals); | ||
| 568 | id = get_identifier("latent_entropy"); | 567 | id = get_identifier("latent_entropy"); |
| 569 | latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, id, type); | 568 | latent_entropy_decl = build_decl(UNKNOWN_LOCATION, VAR_DECL, id, type); |
| 570 | 569 | ||
| @@ -584,8 +583,8 @@ static void latent_entropy_start_unit(void *gcc_data __unused, | |||
| 584 | | TODO_update_ssa | 583 | | TODO_update_ssa |
| 585 | #include "gcc-generate-gimple-pass.h" | 584 | #include "gcc-generate-gimple-pass.h" |
| 586 | 585 | ||
| 587 | int plugin_init(struct plugin_name_args *plugin_info, | 586 | __visible int plugin_init(struct plugin_name_args *plugin_info, |
| 588 | struct plugin_gcc_version *version) | 587 | struct plugin_gcc_version *version) |
| 589 | { | 588 | { |
| 590 | bool enabled = true; | 589 | bool enabled = true; |
| 591 | const char * const plugin_name = plugin_info->base_name; | 590 | const char * const plugin_name = plugin_info->base_name; |
diff --git a/scripts/gcc-plugins/sancov_plugin.c b/scripts/gcc-plugins/sancov_plugin.c index aedd6113cb73..7ea0b3f50739 100644 --- a/scripts/gcc-plugins/sancov_plugin.c +++ b/scripts/gcc-plugins/sancov_plugin.c | |||
| @@ -21,7 +21,7 @@ | |||
| 21 | 21 | ||
| 22 | #include "gcc-common.h" | 22 | #include "gcc-common.h" |
| 23 | 23 | ||
| 24 | int plugin_is_GPL_compatible; | 24 | __visible int plugin_is_GPL_compatible; |
| 25 | 25 | ||
| 26 | tree sancov_fndecl; | 26 | tree sancov_fndecl; |
| 27 | 27 | ||
| @@ -86,7 +86,7 @@ static void sancov_start_unit(void __unused *gcc_data, void __unused *user_data) | |||
| 86 | #endif | 86 | #endif |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) | 89 | __visible int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version) |
| 90 | { | 90 | { |
| 91 | int i; | 91 | int i; |
| 92 | struct register_pass_info sancov_plugin_pass_info; | 92 | struct register_pass_info sancov_plugin_pass_info; |
