Date: Wed, 13 Oct 2010 01:11:10 -0700 From: Garrett Cooper <yanegomi@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-hackers@freebsd.org, Jilles Tjoelker <jilles@stack.nl> Subject: Re: [PATCH] Fix /bin/sh compilation with CFLAGS += -DDEBUG > 1 Message-ID: <AANLkTikZKZUUjVw1tt6Rg4s7=XMapdoQpEgEkt1J3=tr@mail.gmail.com> In-Reply-To: <201010121456.32819.jhb@freebsd.org> References: <AANLkTinHi6jaLY%2BbZdnhL=gEY3hWGrzcfFG8nO6VMc5n@mail.gmail.com> <201010120830.19872.jhb@freebsd.org> <AANLkTimq55BsTuKvFq7WHXKxtGk=Ny7L3JJ9fzOyOgDT@mail.gmail.com> <201010121456.32819.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--00235448f209dbbba804927b2298 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Oct 12, 2010 at 11:56 AM, John Baldwin <jhb@freebsd.org> wrote: > On Tuesday, October 12, 2010 2:31:36 pm Garrett Cooper wrote: >> On Tue, Oct 12, 2010 at 5:30 AM, John Baldwin <jhb@freebsd.org> wrote: >> > You should use %z to print size_t's, but even better is to just use %t >> > to print a ptrdiff_t (which is the type that holds the difference of t= wo >> > pointers). >> >> =A0 =A0 Ok. The overall temperature of using PRI* from POSIX seems like >> it's undesirable; is it just POSIX cruft that FreeBSD conforms to in >> theory only and doesn't really use in practice, or is there an example >> of real practical application where it's used in the sourcebase? > > PRI* are ugly. =A0FreeBSD provides it so that we are compliant and so tha= t > portable code can use it, but we do not use it in our source tree because > it is unreadable. Ok, I'll keep that in mind. >> > The various changes in jobs.c should use '%td' as well rather than (in= t) >> > casts. >> >> =A0 =A0 Ok. Tested build and runtime on amd64 and tested build-only with= i386. > > Hmm, jobs.c shouldn't need any of the (ptrdiff_t) casts as the expression > being printed is already a ptrdiff_t. =A0See this non-debug code in jobs.= c > for example: Good catch. Here's another patch minus the ptrdiff_t casts (again, builds just fine on i386, and runs perfectly fine on amd64). As you can probably tell, I haven't used the ptrdiff_t typedef before :). Thanks! -Garrett --00235448f209dbbba804927b2298 Content-Type: application/octet-stream; name="fix-bin-sh-DEBUG-functionality.diff" Content-Disposition: attachment; filename="fix-bin-sh-DEBUG-functionality.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gf7x6k9b0 SW5kZXg6IGJpbi9zaC9NYWtlZmlsZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW4vc2gvTWFrZWZpbGUJKHJl dmlzaW9uIDIxMzY4MCkKKysrIGJpbi9zaC9NYWtlZmlsZQkod29ya2luZyBjb3B5KQpAQCAtMjEs NyArMjEsNyBAQAogTEZMQUdTPSAtOAkjIDgtYml0IGxleCBzY2FubmVyIGZvciBhcml0aG1ldGlj CiBDRkxBR1MrPS1EU0hFTEwgLUkuIC1JJHsuQ1VSRElSfQogIyBmb3IgZGVidWc6Ci0jIENGTEFH Uys9IC1nIC1EREVCVUc9MgorI0RFQlVHX0ZMQUdTKz0JLWcgLURERUJVRz0yCiBXQVJOUz89CTIK IFdGT1JNQVQ9MAogCkluZGV4OiBiaW4vc2gvZXhwYW5kLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYmluL3No L2V4cGFuZC5jCShyZXZpc2lvbiAyMTM2ODApCisrKyBiaW4vc2gvZXhwYW5kLmMJKHdvcmtpbmcg Y29weSkKQEAgLTQzLDE0ICs0MywxNSBAQAogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1 ZGUgPHN5cy90aW1lLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxkaXJlbnQu aD4KICNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPGRpcmVudC5oPgotI2luY2x1ZGUgPHVu aXN0ZC5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5j bHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KLSNp bmNsdWRlIDxsaW1pdHMuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0cmluZy5o PgorI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiAvKgogICogUm91dGluZXMgdG8gZXhwYW5kIGFyZ3Vt ZW50cyB0byBjb21tYW5kcy4gIFdlIGhhdmUgdG8gZGVhbCB3aXRoCkBAIC00OTcsOSArNDk4LDkg QEAKIAkJZXhpdHN0YXR1cyA9IHdhaXRmb3Jqb2IoaW4uanAsIChpbnQgKilOVUxMKTsKIAlpZiAo cXVvdGVkID09IDApCiAJCXJlY29yZHJlZ2lvbihzdGFydGxvYywgZGVzdCAtIHN0YWNrYmxvY2so KSwgMCk7Ci0JVFJBQ0UoKCJldmFsYmFja3E6IHNpemU9JWQ6IFwiJS4qc1wiXG4iLAotCQkoZGVz dCAtIHN0YWNrYmxvY2soKSkgLSBzdGFydGxvYywKLQkJKGRlc3QgLSBzdGFja2Jsb2NrKCkpIC0g c3RhcnRsb2MsCisJVFJBQ0UoKCJleHBiYWNrcTogc2l6ZT0ldGQ6IFwiJS4qc1wiXG4iLAorCQko KGRlc3QgLSBzdGFja2Jsb2NrKCkpIC0gc3RhcnRsb2MpLAorCQkoaW50KSAoKGRlc3QgLSBzdGFj a2Jsb2NrKCkpIC0gc3RhcnRsb2MpLAogCQlzdGFja2Jsb2NrKCkgKyBzdGFydGxvYykpOwogCWV4 cGRlc3QgPSBkZXN0OwogCUlOVE9OOwpJbmRleDogYmluL3NoL2pvYnMuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBiaW4vc2gvam9icy5jCShyZXZpc2lvbiAyMTM2ODApCisrKyBiaW4vc2gvam9icy5jCSh3b3Jr aW5nIGNvcHkpCkBAIC0zOCwxOCArMzgsMTggQEAKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIF9f RkJTRElEKCIkRnJlZUJTRCQiKTsKIAorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUg PHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2luY2x1ZGUgPHN5cy9z dGRkZWYuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+Cisj aW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHBhdGhzLmg+ CiAjaW5jbHVkZSA8c2lnbmFsLmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxwYXRo cy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUg PHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgotI2luY2x1ZGUgPHN5cy93YWl0Lmg+ Ci0jaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KLSNpbmNs dWRlIDxwYXRocy5oPgotI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgogCiAjaW5jbHVkZSAic2hlbGwu aCIKICNpZiBKT0JTCkBAIC02ODAsNyArNjgwLDcgQEAKIAkJanAtPnBzID0gJmpwLT5wczA7CiAJ fQogCUlOVE9OOwotCVRSQUNFKCgibWFrZWpvYiglcCwgJWQpIHJldHVybnMgJSUlZFxuIiwgKHZv aWQgKilub2RlLCBucHJvY3MsCisJVFJBQ0UoKCJtYWtlam9iKCVwLCAlZCkgcmV0dXJucyAlJSV0 ZFxuIiwgKHZvaWQgKilub2RlLCBucHJvY3MsCiAJICAgIGpwIC0gam9idGFiICsgMSkpOwogCXJl dHVybiBqcDsKIH0KQEAgLTc2Niw3ICs3NjYsNyBAQAogCXBpZF90IHBpZDsKIAlwaWRfdCBwZ3Jw OwogCi0JVFJBQ0UoKCJmb3Jrc2hlbGwoJSUlZCwgJXAsICVkKSBjYWxsZWRcbiIsIGpwIC0gam9i dGFiLCAodm9pZCAqKW4sCisJVFJBQ0UoKCJmb3Jrc2hlbGwoJSUldGQsICVwLCAlZCkgY2FsbGVk XG4iLCBqcCAtIGpvYnRhYiwgKHZvaWQgKiluLAogCSAgICBtb2RlKSk7CiAJSU5UT0ZGOwogCWlm IChtb2RlID09IEZPUktfQkcpCkBAIC05MDMsNyArOTAzLDcgQEAKIAlpbnQgc3Q7CiAKIAlJTlRP RkY7Ci0JVFJBQ0UoKCJ3YWl0Zm9yam9iKCUlJWQpIGNhbGxlZFxuIiwganAgLSBqb2J0YWIgKyAx KSk7CisJVFJBQ0UoKCJ3YWl0Zm9yam9iKCUlJXRkKSBjYWxsZWRcbiIsIGpwIC0gam9idGFiICsg MSkpOwogCXdoaWxlIChqcC0+c3RhdGUgPT0gMCkKIAkJaWYgKGRvd2FpdCgxLCBqcCkgPT0gLTEp CiAJCQlkb3RyYXAoKTsKQEAgLTEwMDQsNyArMTAwNCw3IEBACiAJCQlpZiAoc3RvcHBlZCkgewkJ Lyogc3RvcHBlZCBvciBkb25lICovCiAJCQkJaW50IHN0YXRlID0gZG9uZT8gSk9CRE9ORSA6IEpP QlNUT1BQRUQ7CiAJCQkJaWYgKGpwLT5zdGF0ZSAhPSBzdGF0ZSkgewotCQkJCQlUUkFDRSgoIkpv YiAlZDogY2hhbmdpbmcgc3RhdGUgZnJvbSAlZCB0byAlZFxuIiwganAgLSBqb2J0YWIgKyAxLCBq cC0+c3RhdGUsIHN0YXRlKSk7CisJCQkJCVRSQUNFKCgiSm9iICV0ZDogY2hhbmdpbmcgc3RhdGUg ZnJvbSAlZCB0byAlZFxuIiwganAgLSBqb2J0YWIgKyAxLCBqcC0+c3RhdGUsIHN0YXRlKSk7CiAJ CQkJCWpwLT5zdGF0ZSA9IHN0YXRlOwogCQkJCQlpZiAoanAgIT0gam9iKSB7CiAJCQkJCQlpZiAo ZG9uZSAmJiAhanAtPnJlbWVtYmVyZWQgJiYK --00235448f209dbbba804927b2298--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikZKZUUjVw1tt6Rg4s7=XMapdoQpEgEkt1J3=tr>