From 9c266d2d820aa02579f1ae521d4435ecbbd2d1cd Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 11 Feb 2009 16:20:10 +0000 Subject: 2009-02-11 Till Straumann PR 1369/bsps * Makefile.am, configure.ac: Fix name clashes when using MC68040 fpsp floating-point emulation. --- c/src/lib/libcpu/m68k/ChangeLog | 6 ++++++ c/src/lib/libcpu/m68k/Makefile.am | 17 ++++++++++++++--- c/src/lib/libcpu/m68k/configure.ac | 2 ++ 3 files changed, 22 insertions(+), 3 deletions(-) (limited to 'c/src') diff --git a/c/src/lib/libcpu/m68k/ChangeLog b/c/src/lib/libcpu/m68k/ChangeLog index d3c0d6998a..66242d3c95 100644 --- a/c/src/lib/libcpu/m68k/ChangeLog +++ b/c/src/lib/libcpu/m68k/ChangeLog @@ -1,3 +1,9 @@ +2009-02-11 Till Straumann + + PR 1369/bsps + * Makefile.am, configure.ac: Fix name clashes when using MC68040 fpsp + floating-point emulation. + 2008-09-08 Joel Sherrill * mcf548x/include/Freescale_license.txt: Convert to UNIX CR/LF style, diff --git a/c/src/lib/libcpu/m68k/Makefile.am b/c/src/lib/libcpu/m68k/Makefile.am index cbdcd7e919..a1197fb187 100644 --- a/c/src/lib/libcpu/m68k/Makefile.am +++ b/c/src/lib/libcpu/m68k/Makefile.am @@ -40,7 +40,8 @@ endif if m68040 ## m68040/fpsp noinst_PROGRAMS += m68040/fpsp.rel -m68040_fpsp_rel_SOURCES = m68040/fpsp/rtems_fpsp.c m68040/fpsp/bindec.S \ +noinst_PROGRAMS += m68040/fpsp_tmp.rel +m68040_fpsp_tmp_rel_SOURCES = m68040/fpsp/rtems_fpsp.c m68040/fpsp/bindec.S \ m68040/fpsp/binstr.S m68040/fpsp/bugfix.S m68040/fpsp/decbin.S \ m68040/fpsp/do_func.S m68040/fpsp/gen_except.S m68040/fpsp/get_op.S \ m68040/fpsp/kernel_ex.S m68040/fpsp/res_func.S m68040/fpsp/round.S \ @@ -55,8 +56,18 @@ m68040_fpsp_rel_SOURCES = m68040/fpsp/rtems_fpsp.c m68040/fpsp/bindec.S \ m68040/fpsp/x_operr.S m68040/fpsp/x_ovfl.S m68040/fpsp/x_snan.S \ m68040/fpsp/x_store.S m68040/fpsp/x_unfl.S m68040/fpsp/x_unimp.S \ m68040/fpsp/x_unsupp.S -m68040_fpsp_rel_CPPFLAGS = $(AM_CPPFLAGS) -m68040_fpsp_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) +m68040_fpsp_tmp_rel_CPPFLAGS = $(AM_CPPFLAGS) +m68040_fpsp_tmp_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) + +# avoid name clashes and modifying the source by +# prefixing all (global) symbols in the binary +m68040/fpsp_tmp1.rel: m68040/fpsp_tmp.rel + $(OBJCOPY) --prefix-symbols __fpsp_ $^ $@ + +# Then remove the prefix again on all global +# symbols we really need: +m68040/fpsp.rel: m68040/fpsp_tmp1.rel + $(OBJCOPY) --redefine-sym __fpsp_M68KFPSPInstallExceptionHandlers=M68KFPSPInstallExceptionHandlers --redefine-sym __fpsp_M68040FPSPUserExceptionHandlers=M68040FPSPUserExceptionHandlers --redefine-sym __fpsp__CPU_ISR_install_raw_handler=_CPU_ISR_install_raw_handler --redefine-sym __fpsp__FPSP_install_raw_handler=_FPSP_install_raw_handler $^ $@ noinst_HEADERS = m68040/fpsp/fpsp.defs endif diff --git a/c/src/lib/libcpu/m68k/configure.ac b/c/src/lib/libcpu/m68k/configure.ac index 30279471ca..69490b0bbd 100644 --- a/c/src/lib/libcpu/m68k/configure.ac +++ b/c/src/lib/libcpu/m68k/configure.ac @@ -21,6 +21,8 @@ AM_PROG_CC_C_O RTEMS_CANONICALIZE_TOOLS RTEMS_PROG_CCAS +RTEMS_CHECK_TOOL([OBJCOPY],[objcopy]) + # At this time all models should use the shared directory so do this AM_CONDITIONAL(shared, true) -- cgit v1.2.3