CCommandLine::CheckParm Fix undefined behavior

Add flag -no-pie to linker for executable files
This commit is contained in:
s1lent 2017-10-25 00:59:00 +07:00
parent 3317627359
commit cc90106339
No known key found for this signature in database
GPG Key ID: 0FE401DC73916B5C
3 changed files with 4 additions and 1 deletions

View File

@ -65,6 +65,7 @@ void setupToolchain(NativeBinarySpec b) {
cfg.compilerOptions.args '-Qoption,cpp,--treat_func_as_string_literal_cpp' cfg.compilerOptions.args '-Qoption,cpp,--treat_func_as_string_literal_cpp'
} }
cfg.linkerOptions.args '-no-pie'
cfg.compilerOptions.args '-fno-rtti', '-fno-exceptions' cfg.compilerOptions.args '-fno-rtti', '-fno-exceptions'
cfg.extraLibs 'dl' cfg.extraLibs 'dl'
} }

View File

@ -340,7 +340,8 @@ const char *CCommandLine::CheckParm(const char *psz, char **ppszValue) const
if (p2[i] == '\0' || p2[i] == ' ') if (p2[i] == '\0' || p2[i] == ' ')
break; break;
sz[i++] = p2[i]; sz[i] = p2[i];
i++;
} while (i < sizeof(sz)); } while (i < sizeof(sz));
sz[i] = '\0'; sz[i] = '\0';

View File

@ -65,6 +65,7 @@ void setupToolchain(NativeBinarySpec b) {
cfg.compilerOptions.args '-Qoption,cpp,--treat_func_as_string_literal_cpp' cfg.compilerOptions.args '-Qoption,cpp,--treat_func_as_string_literal_cpp'
} }
cfg.linkerOptions.args '-no-pie'
cfg.compilerOptions.args '-fno-rtti', '-fno-exceptions' cfg.compilerOptions.args '-fno-rtti', '-fno-exceptions'
cfg.extraLibs 'dl' cfg.extraLibs 'dl'
} }