It looks good to me. Approved.

Thanks,

Cooper


On 9/16/20 7:47 PM, Jojo R wrote:
gcc/ChangeLog:

        * config/csky/csky.opt (msim): New.
        * doc/invoke.texi (C-SKY Options): Document -msim.
        * config/csky/csky-elf.h (LIB_SPEC): Add simulator runtime.

---
  gcc/config/csky/csky-elf.h | 10 ++++++++--
  gcc/config/csky/csky.opt   |  4 ++++
  gcc/doc/invoke.texi        |  7 ++++++-
  3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/gcc/config/csky/csky-elf.h b/gcc/config/csky/csky-elf.h
index 15a0e73..a79d757 100644
--- a/gcc/config/csky/csky-elf.h
+++ b/gcc/config/csky/csky-elf.h
@@ -70,8 +70,14 @@
   %{EL:-EL} -X"
#undef LIB_SPEC
-#define LIB_SPEC \
-  "%{pthread:-lpthread} -lc %{mccrt:-lcc-rt}"
+#define LIB_SPEC "\
+%{pthread:-lpthread} \
+--start-group \
+-lc \
+%{msim:-lsemi}%{!msim:-lnosys} \
+--end-group \
+%{mccrt:-lcc-rt} \
+"
  /* FIXME add this to LIB_SPEC when need */
  /*   %{!shared:%{profile:-lc_p}%{!profile:-lc}}" */
diff --git a/gcc/config/csky/csky.opt b/gcc/config/csky/csky.opt
index 60b51e5..505a764 100644
--- a/gcc/config/csky/csky.opt
+++ b/gcc/config/csky/csky.opt
@@ -192,3 +192,7 @@ Set the branch costs to roughly the specified number of 
instructions.
  msched-prolog
  Target Report Var(flag_sched_prolog) Init(0)
  Permit scheduling of function prologue and epilogue sequences.
+
+msim
+Target
+Use the simulator runtime.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 6d9ff2c..9176c83 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -829,7 +829,7 @@ Objective-C and Objective-C++ Dialects}.
  -mdsp  -medsp  -mvdsp @gol
  -mdiv  -msmart  -mhigh-registers  -manchor @gol
  -mpushpop  -mmultiple-stld  -mconstpool  -mstack-size  -mccrt @gol
--mbranch-cost=@var{n}  -mcse-cc  -msched-prolog}
+-mbranch-cost=@var{n}  -mcse-cc  -msched-prolog -msim}
@emph{Darwin Options}
  @gccoptlist{-all_load  -allowable_client  -arch  -arch_errors_fatal @gol
@@ -20835,6 +20835,11 @@ this option can result in code that is not compliant 
with the C-SKY V2 ABI
  prologue requirements and that cannot be debugged or backtraced.
  It is disabled by default.
+@item -msim
+@opindex msim
+Links the library libsemi.a which is in compatible with simulator. Applicable
+to ELF compiler only.
+
  @end table
@node Darwin Options

Reply via email to