summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-30 19:26:14 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-30 19:26:14 +0000
commit4209f9b275b39f6fe5550ed54f25ba3c249fd70c (patch)
treec3cce820d8a9ffcc9b3955555e4d8d313ade1092
parent54c88fdacec05ee837e6932a021ff2072aa637e6 (diff)
downloadgcc-4209f9b275b39f6fe5550ed54f25ba3c249fd70c.tar.gz
* config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
mode. * config/h8300/crtn.asm: Likewise. * config/h8300/lib1funcs.asm: Likewise. * config/h8300/h8300.c (asm_file_start): Likewise. * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and h8300snelf emulations for normal mode. * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn emulations for normal mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67250 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/h8300/crti.asm8
-rw-r--r--gcc/config/h8300/crtn.asm8
-rw-r--r--gcc/config/h8300/elf.h2
-rw-r--r--gcc/config/h8300/h8300.c10
-rw-r--r--gcc/config/h8300/h8300.h2
-rw-r--r--gcc/config/h8300/lib1funcs.asm8
7 files changed, 46 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 320cfb66155..36afa305490 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,17 @@
2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+ * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
+ mode.
+ * config/h8300/crtn.asm: Likewise.
+ * config/h8300/lib1funcs.asm: Likewise.
+ * config/h8300/h8300.c (asm_file_start): Likewise.
+ * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
+ h8300snelf emulations for normal mode.
+ * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
+ emulations for normal mode.
+
+2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
* config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
true if TARGET_NORMAL_MODE.
diff --git a/gcc/config/h8300/crti.asm b/gcc/config/h8300/crti.asm
index 9f28efddaa9..8070a84c600 100644
--- a/gcc/config/h8300/crti.asm
+++ b/gcc/config/h8300/crti.asm
@@ -38,12 +38,20 @@ Boston, MA 02111-1307, USA. */
such object files. */
#ifdef __H8300H__
+#ifdef __NORMAL_MODE__
+ .h8300hn
+#else
.h8300h
#endif
+#endif
#ifdef __H8300S__
+#ifdef __NORMAL_MODE__
+ .h8300sn
+#else
.h8300s
#endif
+#endif
.section .init
.global __init
diff --git a/gcc/config/h8300/crtn.asm b/gcc/config/h8300/crtn.asm
index 5f6f9846f74..5b7a1c05a16 100644
--- a/gcc/config/h8300/crtn.asm
+++ b/gcc/config/h8300/crtn.asm
@@ -30,12 +30,20 @@ Boston, MA 02111-1307, USA. */
/* See an explanation about .init and .fini in crti.asm. */
#ifdef __H8300H__
+#ifdef __NORMAL_MODE__
+ .h8300hn
+#else
.h8300h
#endif
+#endif
#ifdef __H8300S__
+#ifdef __NORMAL_MODE__
+ .h8300sn
+#else
.h8300s
#endif
+#endif
.section .init
rts
diff --git a/gcc/config/h8300/elf.h b/gcc/config/h8300/elf.h
index bfa4e814394..c306993602a 100644
--- a/gcc/config/h8300/elf.h
+++ b/gcc/config/h8300/elf.h
@@ -43,4 +43,4 @@
#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic)
#undef LINK_SPEC
-#define LINK_SPEC "%{mh:-m h8300helf} %{ms:-m h8300self}"
+#define LINK_SPEC "%{mh:%{mn:-m h8300hnelf}} %{mh:%{!mn:-m h8300helf}} %{ms:%{mn:-m h8300snelf}} %{ms:%{!mn:-m h8300self}}"
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index 5dfb0e5e119..1639fbfc6b9 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -699,9 +699,15 @@ asm_file_start (file)
else if (optimize)
fprintf (file, "; -O%d\n", optimize);
if (TARGET_H8300H)
- fprintf (file, "\n\t.h8300h\n");
+ if (TARGET_NORMAL_MODE)
+ fprintf (file, "\n\t.h8300hn\n");
+ else
+ fprintf (file, "\n\t.h8300h\n");
else if (TARGET_H8300S)
- fprintf (file, "\n\t.h8300s\n");
+ if (TARGET_NORMAL_MODE)
+ fprintf (file, "\n\t.h8300sn\n");
+ else
+ fprintf (file, "\n\t.h8300s\n");
else
fprintf (file, "\n\n");
output_file_directive (file, main_input_filename);
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index f1f118fb93d..f4eafdecbba 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -70,7 +70,7 @@ extern const char * const *h8_reg_names;
} \
while (0)
-#define LINK_SPEC "%{mh:-m h8300h} %{ms:-m h8300s}"
+#define LINK_SPEC "%{mh:%{mn:-m h8300hn}} %{mh:%{!mn:-m h8300h}} %{ms:%{mn:-m h8300sn}} %{ms:%{!mn:-m h8300s}}"
#define LIB_SPEC "%{mrelax:-relax} %{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
diff --git a/gcc/config/h8300/lib1funcs.asm b/gcc/config/h8300/lib1funcs.asm
index 2f62572f225..dc22e54d60e 100644
--- a/gcc/config/h8300/lib1funcs.asm
+++ b/gcc/config/h8300/lib1funcs.asm
@@ -96,12 +96,20 @@ Boston, MA 02111-1307, USA. */
#endif
#ifdef __H8300H__
+#ifdef __NORMAL_MODE__
+ .h8300hn
+#else
.h8300h
#endif
+#endif
#ifdef __H8300S__
+#ifdef __NORMAL_MODE__
+ .h8300sn
+#else
.h8300s
#endif
+#endif
#ifdef L_cmpsi2
#ifdef __H8300__