mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@aerifal.cx>
To: musl@lists.openwall.com
Subject: Re: Cleanup patches
Date: Mon, 6 Jun 2011 13:32:10 -0400	[thread overview]
Message-ID: <20110606173210.GD191@brightrain.aerifal.cx> (raw)
In-Reply-To: <20110606171317.GN6142@port70.net>

On Mon, Jun 06, 2011 at 07:13:18PM +0200, Szabolcs Nagy wrote:
>  %.o: $(ARCH)/%.s
> -	$(CC) $(CFLAGS) $(INC) -c -o $@ $<
> +	$(CC) -c -o $@ $<
> 
> this could be $(AS) -o $@ $<

Is there a reason this is necessary or beneficial?

>  struct chunk {
> -	size_t data[1];
>  	struct chunk *next;
>  	struct chunk *prev;
> +	size_t data[];
>  };
> 
> this does not seem to be correct
> c->data[-1] now means something different

This is definitely wrong. data[1] is not a flexible array member. If
this is causing serious problems I could update everything to use
structure pointers offset back by 1 word, and then use size_t
prev_size, size; or similar. But if I remember correctly that was
making the code a good big uglier when I first tried it.

> -	    int enter_tag;
>  	    node = tre_stack_pop(stack);
>  	    if (first_pass)
>  		node->num_tags = ((tre_iteration_t *)node->obj)->arg->num_tags
>  		  + (int)tre_stack_pop(stack);
>  	    else
> -		enter_tag = (int)tre_stack_pop(stack);
> +		(int)tre_stack_pop(stack);
> 
> the (int) cast can go as well..

Indeed. Short of bugs though my intent is not to touch the TRE code,
since I plan to replace it anyway.

>  		/* Handle literal text and %% format specifiers */
>  		for (a=s; *s && *s!='%'; s++);
> -		litpct = wcsspn(s, L"%")/2; /* Optimize %%%% runs */
> +		litpct = wcsspn(s, (wchar_t *)L"%")/2; /* Optimize %%%% runs */
>  		z = s+litpct;
>  		s += 2*litpct;
>  		l = z-a;
> 
> this seems wrong
> L"" is already a wchar_t string literal

I'm guessing this might be an issue of some 32-bit x86 compilers
disagreeing on whether wchar_t is "int" or "long". Traditionally it
was "long" which worked but was obviously stupid conceptually. I don't
know a good way to make musl's wchar.h adapt to what the compiler
wants though...

> and wcsspn arguments must be const qualified

This is wrong. A non-const-qualified pointer always implicitly
converts to the const-qualified version.

> Subject: [PATCH 6/6] You can't weak alias a static function or variable
> 
> you can, at least gcc/ld allows it, it just does not make much sense

It does make sense to allow it, but I can see how it might be a little
more work for the compiler and the compiler might not want to support
it.

> but the solution is bad, polluting the public namespace is not ok

Indeed, the names will all need changing if this is necessary.

Rich


  reply	other threads:[~2011-06-06 17:32 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-06 15:40 Igmar Palsenberg
2011-06-06 17:13 ` Szabolcs Nagy
2011-06-06 17:32   ` Rich Felker [this message]
2011-06-06 18:31     ` Szabolcs Nagy
2011-06-06 18:58       ` Rich Felker
2011-06-07  8:44     ` Igmar Palsenberg
2011-06-07  9:06       ` Szabolcs Nagy
2011-06-07  9:08         ` Igmar Palsenberg
2011-06-07 14:51       ` Rich Felker
2011-06-07 15:26         ` Igmar Palsenberg
2011-06-07 15:39           ` Rich Felker
2011-06-07 10:29   ` Igmar Palsenberg
2011-06-06 22:09 ` Rich Felker
2011-06-06 22:13 ` Rich Felker

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=20110606173210.GD191@brightrain.aerifal.cx \
    --to=dalias@aerifal.cx \
    --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).