Re: gcc-clang issue

2011-06-21 Thread Matthias Andree
Am 21.06.2011 01:00, schrieb Koop Mast:

 Hey, could you try this patch? I try the USE_CSTD=gnu89 trick if I get
 symbol troubles when linking. This is because clang defaults to gnu99
 while gcc still defaults to gnu89. From what I remember the inline
 keyword has different meanings between the two, or how you use it
 atleast. Someone explained it to my last year but I can't remember all
 the gory details about it.
 
 http://people.freebsd.org/~kwm/e2fsprogs-clang.diff

Gorgeous, works and passes self-tests (on RELENG_8 at least). Committed,
dank je wel!
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: gcc-clang issue (was: cvs commit: ports/sysutils/e2fsprogs Makefile)

2011-06-20 Thread Matthias Andree

I'v commited this half an hour ago:


mandree 2011-06-20 22:02:53 UTC

   FreeBSD ports repository

   Modified files:
 sysutils/e2fsprogs   Makefile
   Log:
   [1] USE_GCC=4.2+, to avoid clang. Port needs -lgcc and -lgcc_s explicitly.
   [...]


[1] is actually (a) a quick excuse and (b) based on the assumption that 
USE_GCC will override a clang default ports compiler.


I HAVE tried clang, and got a particular kind of linker errors, namely 
that unrelated .o files redefine the same unrelated symbols - and a 
crc32.o file redefining libext2fs symbols is curious, to put it mildly.


I currently suspect that there are inline handling differences between 
clang and gcc, combined with definitions (implementations) in .h 
files, and possibly either different linker behaviour with clang, or 
actually different symbols.


Has anyone seen similar issues (duplicate symbol errors) after switching 
to clang?


Haven't had time to check things in detail, and thought I'd commit 
USE_GCC right away to unwedge the build for future -exp runs.


--
Matthias Andree
ports committer
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: gcc-clang issue

2011-06-20 Thread Koop Mast

On 6/21/2011 0:31 , Matthias Andree wrote:

I'v commited this half an hour ago:


mandree 2011-06-20 22:02:53 UTC

   FreeBSD ports repository

   Modified files:
 sysutils/e2fsprogs   Makefile
   Log:
   [1] USE_GCC=4.2+, to avoid clang. Port needs -lgcc and -lgcc_s 
explicitly.

   [...]


[1] is actually (a) a quick excuse and (b) based on the assumption 
that USE_GCC will override a clang default ports compiler.


I HAVE tried clang, and got a particular kind of linker errors, namely 
that unrelated .o files redefine the same unrelated symbols - and a 
crc32.o file redefining libext2fs symbols is curious, to put it mildly.


I currently suspect that there are inline handling differences 
between clang and gcc, combined with definitions (implementations) 
in .h files, and possibly either different linker behaviour with 
clang, or actually different symbols.


Hey, could you try this patch? I try the USE_CSTD=gnu89 trick if I get 
symbol troubles when linking. This is because clang defaults to gnu99 
while gcc still defaults to gnu89. From what I remember the inline 
keyword has different meanings between the two, or how you use it 
atleast. Someone explained it to my last year but I can't remember all 
the gory details about it.


http://people.freebsd.org/~kwm/e2fsprogs-clang.diff

Has anyone seen similar issues (duplicate symbol errors) after 
switching to clang?


Haven't had time to check things in detail, and thought I'd commit 
USE_GCC right away to unwedge the build for future -exp runs.




___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org