[Snort-users] Re: Building Snort on

Fyodor fygrave at ...121...
Fri Aug 11 10:39:43 EDT 2000

~ :I saw in the mailing list archieves that when snort is compiled on SGI IRIX
~ :6.5, if you are going to use gcc, then you need to pass it some arguments.
~ :Can someone please tell me what they are, currently, snort is not logging
~ :everything that I want and it is giving me generic source and Destination
~ :addresses:
~ :
~ : ->
~ :
~ :

It's in sourcecode tarball's INSTALL file, in Platform Specific Notes:

Platform Specific Notes


[ noticed by Scott A. McIntyre <scott at ...315...>]
 There's problem with GCC on IRIX platform which causes certain missbehaviour
of snort.

>From the SGI web site:

Gcc does not correctly pass/return structures which are smaller than 16
bytes and which are
         not 8 bytes. The problem is very involved and difficult to fix.
It affects a number of other targets also, but irix6 is affected
         the most, because it is a 64 bit target, and 4 byte structures
are common. The exact problem is that structures are being
         padded at the wrong end, e.g. a 4 byte structure is loaded into
the lower 4 bytes of the register when it should be loaded
         into the upper 4 bytes of the register. 

         Gcc is consistent with itself, but not consistent with the SGI
C compiler [and the SGI supplied runtime libraries], so the
         only failures that can happen are when there are library
functions that take/return such structures. There are very few
         such library functions. I can only recall seeing a few of them:
inet_ntoa, inet_aton, inet_lnaof,
         inet_netof, and semctl. 

         A possible workaround: if you have a program that calls
inet_ntoa and friends or semctl, and your kernel supports
         64-bit binaries (i.e. uname -a prints IRIX64 rather than just
IRIX), then you may compile with gcc -mabi=64 to
         workaround this problem. 

More information is available at:


More information about the Snort-users mailing list