Bug 19447

Summary: ALIGN macro undefined in /usr/include/sys/socket.h
Product: Base System Reporter: john <john>
Component: miscAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.0-RELEASE   
Hardware: Any   
OS: Any   

Description john 2000-06-22 22:30:00 UTC
Programs using the CMSG_DATA (and others) in /usr/include/sys/socket.h
will not link/load because the ALIGN macro is not defined, and the
compiler thinks it should be a function that should be resolved.
I think that the definition
of the ALIGN macro is in /usr/include/machine/param.h.  At least, 
my program works when I include it before sys/socket.h.   I think that
any include file that uses the ALIGN macro should define it itself, or
include machine/param.h.

Fix: 

Include machine/param.h in sys/socket.h
How-To-Repeat: Compile srfd.c from the lam-6.3.2 (an MPI implementation) and look at
the symbols in srfd.o, or the assembler output.  They both include
a call to ALIGN, which should have been a macro.
Comment 1 Johan.Karlsson 2000-08-02 14:56:19 UTC
This PR is superseeded by PR 19971
which contains a long discussion of the topic.

see
http://www.FreeBSD.org/cgi/query-pr.cgi?pr=19971

/Johan K
-- 
Johan Karlsson              Phone : +46 (0)920 720 16 
Systemteknik, Datalogi      Fax   : +46 (0)920 721 91 
Luleå Tekniska Universitet  E-mail: Johan.Karlsson@SM.LuTH.SE
S-971 87 LULEÅ, SWEDEN
Comment 2 Sheldon Hearn freebsd_committer freebsd_triage 2000-08-02 15:03:56 UTC
State Changed
From-To: open->closed

As pointed out by Johan Karlsson <Johan.Karlsson@sm.luth.se>,  
this PR is superseded by PR 19971.