-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[travis] Add Travis CI service for x86. #19
Conversation
The tester.c sources have been modified to pass the shell environemt variable to the executable that is invoked with `execvpe`. A new target "test" have been added to the root Makefile to run the "iut" tests.
It is -lrt, not -ltr...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a few questions on the changes.
config.mk
Outdated
export ENABLEFLOAT80= $(shell expr `$(CC) -dumpversion | sed 's/\..*//g'` '>=' 5) | ||
export ENABLEFLOAT128= $(shell expr `$(CC) -dumpversion | sed 's/\..*//g'` '>=' 5) | ||
export ENABLEFLOAT128= $(shell expr `$(CC) -dumpversion | sed 's/\..*//g'` '>=' 7) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you explain why you set the minimum version number of gcc for enableing float128 support to 7? It should be available in version 5. Is it a workaround of some bug?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, this is a mistake, thanks for finding it out. I reverted the change for the FP128 check, the build should still pass.
# | ||
|
||
iut : ../../lib/libsleef.$(DLLSUFFIX) ../../include/sleef.h iut.c testerutil.c ../libm/rename.h ../../include/sleef.h | ||
$(CC) $(CFLAGS) iut.c testerutil.c -o iut -lsleef -lm | ||
$(CC) $(CFLAGS) iut.c testerutil.c -o iut -lsleef -lm -lrt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you explain why we need to link librt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default version of gcc on the CI machines is gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
. The library librt
is needed to avoid the following compilation error:
gcc -fmax-errors=3 -Wall -Wno-unused -Wno-attributes -Wno-psabi -std=gnu99 -ffp-contract=off -O -g -I../common -I../arch -I../../include -I../libm -L../../lib -DENABLE_SYS_getrandom -DENABLE_AVX -mavx iutsimd.c testerutil.c -o iutavx -lsleef -lm
../../lib/libsleef.so: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make[1]: *** [iutavx] Error 1
The same error was raised for all the iut
executables.
Just to confirm - I restored gcc v5 for the FP128 makefile checks and CI is green. :) |
Ah, in case you accept and want to submit the changes, I think it will be better to use the "Squash and Merge" functionality to have all changes in a single commit. |
Changes included:
execvpe
instead ofexecvp
intester.c
to allow environment variables of shell to be passed fromtester
to theiut*
executables.