Forces all applications to link with -lm (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Sat, 25 May 2013 16:40:37 +0000 (09:40 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Sat, 25 May 2013 22:06:55 +0000 (15:06 -0700)
Since parlib's measure has math functions in it, anyone linking against
parlib will need -lm.  Since we're forcing -lparlib, we might as well do
-lm too.  The alternative would be to not allow math functions in
parlib.  While I can get by with that for now (move measure somewhere
else or rewrite sqrt()), I can imagine us using math in parlib in the
future.

If it becomes a big deal, we can revert this.  Though libm.so is less
than 10% of the size of libc.so (660K vs 7.5M).

Rebuild gcc fully.  Make clean, if you are unsure of what to do.

tests/Makefrag
tools/compilers/gcc-glibc/gcc-4.6.1-ros/gcc/config/ros.h

index fb03af4..3766866 100644 (file)
@@ -4,7 +4,7 @@ OBJDIRS += $(TESTS_DIR)
 
 TESTS_CFLAGS += $(USER_CFLAGS) -g
 TESTS_CXXFLAGS += $(USER_CXXFLAGS) -g
-TESTS_LDFLAGS += $(USER_LDFLAGS) -lm
+TESTS_LDFLAGS += $(USER_LDFLAGS)
 
 TESTS_LDLIBS := -lpthread
 
index 5ff8bbf..29fca09 100644 (file)
@@ -40,5 +40,5 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 #undef LINK_GCC_C_SEQUENCE_SPEC
 #define LINK_GCC_C_SEQUENCE_SPEC \
-  "--whole-archive -lparlib --no-whole-archive " \
+  "--whole-archive -lparlib -lm --no-whole-archive " \
   "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"