make gcc_plugin compilable for gcc 3.6.0

This commit is contained in:
hexcoder- 2022-09-23 23:19:10 +02:00
parent 6ed40d5a08
commit ed54532f29
4 changed files with 22 additions and 12 deletions

View File

@ -244,7 +244,7 @@ struct afl_cmplog_pass : afl_base_pass {
tree t = build_nonstandard_integer_type(sz, 1);
tree s = make_ssa_name(t);
gimple *g = gimple_build_assign(s, VIEW_CONVERT_EXPR,
gimple g = gimple_build_assign(s, VIEW_CONVERT_EXPR,
build1(VIEW_CONVERT_EXPR, t, lhs));
lhs = s;
gsi_insert_before(&gsi, g, GSI_SAME_STMT);
@ -264,7 +264,7 @@ struct afl_cmplog_pass : afl_base_pass {
if (!is_gimple_val(lhs)) {
tree s = make_ssa_name(t);
gimple *g = gimple_build_assign(s, lhs);
gimple g = gimple_build_assign(s, lhs);
lhs = s;
gsi_insert_before(&gsi, g, GSI_SAME_STMT);
@ -274,7 +274,7 @@ struct afl_cmplog_pass : afl_base_pass {
if (!is_gimple_val(rhs)) {
tree s = make_ssa_name(t);
gimple *g = gimple_build_assign(s, rhs);
gimple g = gimple_build_assign(s, rhs);
rhs = s;
gsi_insert_before(&gsi, g, GSI_SAME_STMT);
@ -282,7 +282,7 @@ struct afl_cmplog_pass : afl_base_pass {
/* Insert the call. */
tree att = build_int_cst(t8u, attr);
gimple *call;
gimple call;
if (pass_n)
call = gimple_build_call(fn, 4, lhs, rhs, att,
build_int_cst(t8u, sz / 8 - 1));
@ -305,7 +305,7 @@ struct afl_cmplog_pass : afl_base_pass {
gimple_stmt_iterator gsi = gsi_last_bb(bb);
if (gsi_end_p(gsi)) continue;
gimple *stmt = gsi_stmt(gsi);
gimple stmt = gsi_stmt(gsi);
if (gimple_code(stmt) == GIMPLE_COND) {

View File

@ -241,7 +241,7 @@ struct afl_cmptrs_pass : afl_base_pass {
for (gimple_stmt_iterator gsi = gsi_after_labels(bb); !gsi_end_p(gsi);
gsi_next(&gsi)) {
gimple *stmt = gsi_stmt(gsi);
gimple stmt = gsi_stmt(gsi);
/* We're only interested in GIMPLE_CALLs. */
if (gimple_code(stmt) != GIMPLE_CALL) continue;
@ -292,7 +292,7 @@ struct afl_cmptrs_pass : afl_base_pass {
if (!is_gimple_val(c)) {
tree s = make_ssa_name(tp8u);
gimple *g = gimple_build_assign(s, c);
gimple g = gimple_build_assign(s, c);
c = s;
gsi_insert_before(&gsi, g, GSI_SAME_STMT);
@ -302,7 +302,7 @@ struct afl_cmptrs_pass : afl_base_pass {
}
gimple *call = gimple_build_call(fn, 2, arg[0], arg[1]);
gimple call = gimple_build_call(fn, 2, arg[0], arg[1]);
gsi_insert_before(&gsi, call, GSI_SAME_STMT);
}

View File

@ -498,3 +498,10 @@ struct afl_base_pass : gimple_opt_pass {
} // namespace
// compatibility for older gcc versions
#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= \
60200 /* >= version 6.2.0 */
#define gimple gimple *
#else
#define gimple gimple
#endif

View File

@ -125,7 +125,10 @@
*/
#include "afl-gcc-common.h"
#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= \
60200 /* >= version 6.2.0 */
#include "memmodel.h"
#endif
/* This plugin, being under the same license as GCC, satisfies the
"GPL-compatible Software" definition in the GCC RUNTIME LIBRARY