Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] CDT GNU Error Parser: Places marker on wrong file



Eclipse: 2.1.x
CDT: 1.2.0
Windows XP
Java 1.4.2_x

We have run into an issue with the GNU error parser in the CDT.  Using a
Standard Make project, and exectuing a makefile we get the following error
output (not the issue at hand):

Object_Lynx_Os/XXX-SS/Threading/lang_c/vmos/src/RC_FSSL_Thread.o: In
function `RC_FSSL_Thread_create':
RC_FSSL_Thread.c(200): undefined reference to `pthread_attr_init'
RC_FSSL_Thread.c(201): undefined reference to `pthread_attr_setdetachstate'
RC_FSSL_Thread.c(202): undefined reference to `pthread_attr_setstacksize'
RC_FSSL_Thread.c(204): undefined reference to `pthread_attr_getschedparam'
RC_FSSL_Thread.c(207): undefined reference to `pthread_attr_setschedparam'
RC_FSSL_Thread.c(210): undefined reference to `pthread_create'
RC_FSSL_Thread.c(230): undefined reference to `pthread_attr_destroy'

Now, given this error output we can see there is a problem with the file
"RC_FSSL_Thread.c".  BUT, the catch is that there are two files with that
name in the project:

../../XXX-SS/Threading/lang_c/vmos/src/RC_FSSL_Thread.c
../../XXX-SS/Threading/lang_c/win/src/RC_FSSL_Thread.c

Unfortunately, the error parser decides to put the markers on the file in
the "win" directory tree instead of the actual file used in the build (in
the "vmos" tree).

I think I understand why it does this... after all, considering the parser
can only come up with a file name, how is it suppose to guess correctly
which file was actually used in the build or link?

Could someone please confirm this is what is happening?  Any suggestion
short of removing the duplicate file?

Right now I can see two courses of action:

1) Place markers on both files, even though line#200 in the "win" file will
not have any errors on it.  The engineer can figure it out.
2) Place markers on neither files and state in the task-list error marker
that multiple files were found.

Chad Barnes
Rockwell Collins Inc.



Back to the top