* net/loveruby/cflat/compiler/Options.java (getOutputFileName): should use outputFileName always when linking, output file of linking is always 1 file.

* net/loveruby/cflat/compiler/Options.java: fixes compile error: new method #isGeneratingPIE.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4066 1b9489fe-b721-0410-924e-b54b9192deb8
This commit is contained in:
Minero Aoki 2008-09-27 22:19:48 +00:00
parent 1d35dd1665
commit 9003c4fd72
2 changed files with 19 additions and 0 deletions

View File

@ -1,3 +1,12 @@
Sun Sep 28 07:19:43 2008 Minero Aoki <aamine@loveruby.net>
* net/loveruby/cflat/compiler/Options.java (getOutputFileName):
should use outputFileName always when linking, output file of
linking is always 1 file.
* net/loveruby/cflat/compiler/Options.java: fixes compile error:
new method #isGeneratingPIE.
Sun Sep 28 07:06:37 2008 Minero Aoki <aamine@loveruby.net>
* net/loveruby/cflat/compiler/Compiler.java: implement -shared.

View File

@ -83,6 +83,9 @@ class Options {
}
protected String getOutputFileName(String newExt) {
if (outputFileName != null) {
return outputFileName;
}
List srcs = sourceFiles();
if (srcs.size() == 1) {
SourceFile src = (SourceFile)srcs.get(0);
@ -138,6 +141,10 @@ class Options {
return this.generatingSharedLibrary;
}
public boolean isGeneratingPIE() {
return this.generatingPIE;
}
// List<ldArg>
public List ldArgs() {
return this.ldArgs;
@ -219,6 +226,8 @@ class Options {
else if (arg.equals("-pie")) {
generatingPIE = true;
}
// FIXME: -z combreloc -z now -z relro
//else if (arg.equals("--readonly-plt"))
else if (arg.startsWith("-L")) {
ldArgs.add(new LdOption("-L" + getOptArg(arg, args)));
}
@ -366,6 +375,7 @@ class Options {
out.println(" -shared Generates shared library rather than executable.");
out.println(" -static Linkes only with static libraries.");
out.println(" -pie Generates PIE.");
//out.println(" --readonly-plt Generates read-only PLT.");
out.println(" -nostartfiles Do not link startup files.");
out.println(" -nodefaultlibs Do not link default libraries.");
out.println(" -nostdlib Enables -nostartfiles and -nodefaultlibs.");