mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Isaac Dunham <idunham@lavabit.com>
To: musl@lists.openwall.com
Subject: Re: Missing header(s)
Date: Mon, 20 Feb 2012 17:15:03 -0800	[thread overview]
Message-ID: <20120220171503.22c3896c.idunham@lavabit.com> (raw)
In-Reply-To: <20120220191703.GU146@brightrain.aerifal.cx>

[-- Attachment #1: Type: text/plain, Size: 1804 bytes --]

On Mon, 20 Feb 2012 14:17:03 -0500
Rich Felker <dalias@aerifal.cx> wrote:
 
> Doesn't 3.81 already have some important bugs you need to patch
> anyway? If so you could add ar.h at the same time. This won't be
> needed for musl once I get ar.h added, but it would make the resulting
> build more portable anyway.

It's running OK without patches, but I haven't pushed too hard.  As mentioned, I just copied ar.h to /usr/include.
 
> > By the way, I've put together a sys/cdefs.h header that gets a lot
> > of stuff to compile; ~95% of it is backwards-compatability macros.
> > If you want, I can submit it; I'd add
> I wouldn't mind seeing it, and as long as it's clean I'll probably add
> it...
> 
> > #include'ing <sys/cdefs.h> is semi-portable, though (NetBSD, GNU
> > libc)--and the only option if you need to support some old systems
> > as well as c99.
> 
> I'm confused how it would be necessary for this. The __STDC__ and
> __STDC_VERSION__ macros give you all you need to make the appropriate
> definitions yourself if you really need to support pre-standardized C.
> If you just need to support C89 and C99, you'd rarely have to test
> anything anyway; just use the intersection of the 2 languages (which
> is equivalent to C89, except that you can't use C99 keywords like
> inline, restrict, _Bool, etc.).

It looks like it's meant to have one header allow the same source to build 
with anything from K&R to C99 (in theory).

> As such, I still see apps that include sys/cdefs.h as buggy.
> Rich

I view it like features.h: nonsense, but if it's a choice between getting it building in a minute or an hour, I'd rather get it building sooner.  Once I know how broken it is, I can decide whether to clean it up, forget it, or delete it.  I'd rather not waste my time on completely broken code.


[-- Attachment #2: cdefs.h --]
[-- Type: text/x-chdr, Size: 653 bytes --]

/* Legacy, meant only for glibc compatability 
 * These were ripped off from glibc sys/cdefs.h
 */
#warn "sys/cdefs.h is only meant as a temporary measure"
#warn "Any code that requires it needs cleanup"
#ifndef _SYS_CDEFS_H_
#define _SYS_CDEFS_H_

#undef __P
#undef __PMT
#undef __NTH
#define __THROW
#define __P(param)	param
#define __PMT(param)	param
#define __NTH(param)	param
#define __CONCAT(x,y)	x ## y
#define __STRING(x)	#x
#define __ptr_t void *
#define __long_double_t  long double

#ifdef	__cplusplus
# define __BEGIN_DECLS	extern "C" {
# define __END_DECLS	}
#else
# define __BEGIN_DECLS
# define __END_DECLS
#endif
#endif /* _SYS_CDEFS_H_

      reply	other threads:[~2012-02-21  1:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-20 17:24 Isaac Dunham
2012-02-20 19:17 ` Rich Felker
2012-02-21  1:15   ` Isaac Dunham [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120220171503.22c3896c.idunham@lavabit.com \
    --to=idunham@lavabit.com \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).