t-msp430 (LIB2ADD): Remove mpy.c
authorJoe Seymour <joe.s@somniumtech.com>
Wed, 18 Jan 2017 03:56:10 +0000 (03:56 +0000)
committerDJ Delorie <dj@gcc.gnu.org>
Wed, 18 Jan 2017 03:56:10 +0000 (22:56 -0500)
libgcc/
* config/msp430/t-msp430 (LIB2ADD): Remove mpy.c
(mpy.o): New rule.
(libmul_none.a): Add mpy.o

gcc/testsuite/
* gcc.target/msp430/mul_f5_muldef.c: New test.

From-SVN: r244564

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/msp430/mul_f5_muldef.c [new file with mode: 0644]
libgcc/config/msp430/t-msp430

index 0628f49ff028eddeb5fc4e767641de07b0bafea3..738afb621b20670d4bc6169d686efd5930a8e82b 100644 (file)
@@ -1,3 +1,7 @@
+2017-01-17  Joe Seymour  <joe.s@somniumtech.com>
+
+       * gcc.target/msp430/mul_f5_muldef.c: New test.
+
 2017-01-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        PR target/79004
diff --git a/gcc/testsuite/gcc.target/msp430/mul_f5_muldef.c b/gcc/testsuite/gcc.target/msp430/mul_f5_muldef.c
new file mode 100644 (file)
index 0000000..da1b1bb
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-do link } */
+/* { dg-options "-mhwmult=f5series" } */
+
+/* This program used to result in a multiple definition error:
+
+libmul_f5.a(lib2hw_mul_f5.o): In function `__mulhi2_f5':
+(.text.__mulhi2_f5+0x0): multiple definition of `__mspabi_mpyi'
+libgcc.a(mpy.o):mpy.c:(.text.__mulhi3+0x0): first defined here */
+
+#include <stdio.h>
+
+int main (void)
+{
+  printf ("%d", 430);
+}
index 107eb3ded6c370b4a99b98fa275ef90ccde22cc9..668b9437dc255c85061af84cf0a89a86ef466e66 100644 (file)
@@ -30,7 +30,6 @@ LIB2ADD = \
        $(srcdir)/config/msp430/lib2mul.c \
        $(srcdir)/config/msp430/lib2shift.c \
        $(srcdir)/config/msp430/epilogue.S \
-       $(srcdir)/config/msp430/mpy.c \
        $(srcdir)/config/msp430/slli.S \
        $(srcdir)/config/msp430/srai.S \
        $(srcdir)/config/msp430/srli.S \
@@ -43,6 +42,9 @@ LIB2ADD = \
 
 HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections -mhwmult=none
 
+mpy.o: $(srcdir)/config/msp430/mpy.c
+       $(gcc_compile) $< -c
+
 lib2_mul_none.o: $(srcdir)/config/msp430/lib2mul.c
        $(gcc_compile) $< -c -DMUL_NONE
 
@@ -58,7 +60,7 @@ lib2hw_mul_32.o: $(srcdir)/config/msp430/lib2hw_mul.S
 lib2hw_mul_f5.o: $(srcdir)/config/msp430/lib2hw_mul.S
        $(gcc_compile) $< -c -DMUL_F5
 
-libmul_none.a: lib2_mul_none.o
+libmul_none.a: lib2_mul_none.o mpy.o
        $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^)
 
 libmul_16.a: lib2hw_mul_16.o lib2_mul_16bit.o