From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 109096 invoked by alias); 10 Jul 2017 15:01:10 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 109078 invoked by uid 89); 10 Jul 2017 15:01:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-vk0-f44.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=8k2l7Vv5ylfH+KbnXJyF1OzbemOpSCofKD7S635y+AM=; b=XE0fIDo8VDnISLpsFC5jcfRSX3n3TLkNHK7RYegxUI3e52uDn7H920JN/arjhHSt4m 2/lvkVgsNMgqHHUpguI0rxuh4rD69b90br3B6QncjspB3PBnQp0Pa9jHf+nul5MgNPgg NuR6616uh/6QmkTDG97oUE/zKrahFr4Upans4urdcsytXrMMRRTnqd61j0O+r05L5QP8 HA1pqgMaHiULwJ2jPMsDflZCrzOFChzlSJwXpEW0EkrLziStCpPBKQ9QFtw0UA5F8fy9 2ql1/obuD4kKkTox12JzAloScE8JxfkAETVHRLOIW35Tjkx29ObSf+L6H5uhiXtZaByU EKKQ== X-Gm-Message-State: AIVw11329/gMneYdBwRWTkEOOXEnqoF8vwlPuKvbGNfGIQhwsvFauH5e QwihXOxkEml6U8YhkGCG8f/f8GM9HE+0bGg= X-Received: by 10.31.169.70 with SMTP id s67mr7982631vke.2.1499698861761; Mon, 10 Jul 2017 08:01:01 -0700 (PDT) MIME-Version: 1.0 From: Paul Pluzhnikov Date: Mon, 10 Jul 2017 15:01:00 -0000 Message-ID: Subject: [patch] Add tests for atexit/on_exit firing order To: GLIBC Devel Content-Type: multipart/mixed; boundary="001a11415ae4edd2bf0553f7d961" X-SW-Source: 2017-07/txt/msg00389.txt.bz2 --001a11415ae4edd2bf0553f7d961 Content-Type: text/plain; charset="UTF-8" Content-length: 499 Greetings, While working a on patch for bz14333, I discovered that there are no tests for ordering of functions registered with atexit/on_exit, and in particular the case where such function itself registers new exit handlers. This patch adds such test. I am using on_exit here because it conveniently allows passing an argument. 2017-07-10 Paul Pluzhnikov * stdlib/Makefile (tests): Add tst-on_exit * stdlib/tst-on_exit.c: New. -- Paul Pluzhnikov --001a11415ae4edd2bf0553f7d961 Content-Type: text/plain; charset="US-ASCII"; name="glibc-on_exit-20170710.txt" Content-Disposition: attachment; filename="glibc-on_exit-20170710.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4y9yce00 Content-length: 2876 ZGlmZiAtLWdpdCBhL3N0ZGxpYi9NYWtlZmlsZSBiL3N0ZGxpYi9NYWtlZmls ZQppbmRleCAwMzE0ZDU5MjZiLi5jYzlmOTIxNWU0IDEwMDY0NAotLS0gYS9z dGRsaWIvTWFrZWZpbGUKKysrIGIvc3RkbGliL01ha2VmaWxlCkBAIC04MCw3 ICs4MCw3IEBAIHRlc3RzCQk6PSB0c3Qtc3RydG9sIHRzdC1zdHJ0b2QgdGVz dG1iIHRlc3RyYW5kIHRlc3Rzb3J0IHRlc3RkaXYgICBcCiAJCSAgIHRzdC1z dHJ0b2wtbG9jYWxlIHRzdC1zdHJ0b2QtbmFuLWxvY2FsZSB0c3Qtc3RyZm1v bl9sICAgIFwKIAkJICAgdHN0LXF1aWNrX2V4aXQgdHN0LXRocmVhZC1xdWlj a19leGl0IHRzdC13aWR0aAkgICAgXAogCQkgICB0c3Qtd2lkdGgtc3RkaW50 IHRzdC1zdHJmcm9tIHRzdC1zdHJmcm9tLWxvY2FsZQkgICAgXAotCQkgICB0 c3QtZ2V0cmFuZG9tCisJCSAgIHRzdC1nZXRyYW5kb20gdHN0LW9uX2V4aXQK IHRlc3RzLWludGVybmFsCTo9IHRzdC1zdHJ0b2QxaSB0c3Qtc3RydG9kMyB0 c3Qtc3RydG9kNCB0c3Qtc3RydG9kNWkgXAogCQkgICB0c3QtdGxzLWF0ZXhp dCB0c3QtdGxzLWF0ZXhpdC1ub2RlbGV0ZQogdGVzdHMtc3RhdGljCTo9IHRz dC1zZWN1cmUtZ2V0ZW52CmRpZmYgLS1naXQgYS9zdGRsaWIvdHN0LW9uX2V4 aXQuYyBiL3N0ZGxpYi90c3Qtb25fZXhpdC5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAuLjBkZTNiNjg1MjUKLS0tIC9kZXYvbnVs bAorKysgYi9zdGRsaWIvdHN0LW9uX2V4aXQuYwpAQCAtMCwwICsxLDY4IEBA CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNp bmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNs dWRlIDx1bmlzdGQuaD4KKworI2RlZmluZSBNQVhfT05fRVhJVCAxMAorc3Rh dGljIGludCBleHBlY3RlZFtNQVhfT05fRVhJVF07CitzdGF0aWMgaW50IG5l eHRfc2xvdCA9IDA7CitzdGF0aWMgaW50IG5leHRfZXhwZWN0ZWQgPSAwOwor CitzdGF0aWMgdm9pZCBteV9vbl9leGl0ICh2b2lkICgqZm4pIChpbnQgc3Rh dHVzLCB2b2lkICopKTsKKworc3RhdGljIHZvaWQKK2ZuMSAoaW50IHN0YXR1 cywgdm9pZCAqYXJnKQoreworICBpbnRwdHJfdCBrID0gKGludHB0cl90KSBh cmc7CisKKyAgcHJpbnRmICgiZm4xOlx0XHQlcCAlZFxuIiwgZm4xLCAoaW50 KSBrKTsKKyAgaWYgKG5leHRfc2xvdCA8IDEgfHwgZXhwZWN0ZWRbLS1uZXh0 X3Nsb3RdICE9IGspCisgICAgX2V4aXQgKDEpOworfQorCitzdGF0aWMgdm9p ZAorZm4yIChpbnQgc3RhdHVzLCB2b2lkICphcmcpCit7CisgIGludHB0cl90 IGsgPSAoaW50cHRyX3QpIGFyZzsKKworICBwcmludGYgKCJmbjI6XHRcdCVw ICVkXG4iLCBmbjIsIChpbnQpIGspOworICBpZiAobmV4dF9zbG90IDwgMSB8 fCBleHBlY3RlZFstLW5leHRfc2xvdF0gIT0gaykKKyAgICBfZXhpdCAoMSk7 CisgIG15X29uX2V4aXQgKGZuMSk7Cit9CisKK3N0YXRpYyB2b2lkCitmbjMg KGludCBzdGF0dXMsIHZvaWQgKmFyZykKK3sKKyAgaW50cHRyX3QgayA9IChp bnRwdHJfdCkgYXJnOworCisgIHByaW50ZiAoImZuMzpcdFx0JXAgJWRcbiIs IGZuMywgKGludCkgayk7CisgIGlmIChuZXh0X3Nsb3QgPCAxIHx8IGV4cGVj dGVkWy0tbmV4dF9zbG90XSAhPSBrKQorICAgIF9leGl0ICgxKTsKKyAgbXlf b25fZXhpdCAoZm4yKTsKK30KKworc3RhdGljIHZvaWQKK215X29uX2V4aXQg KHZvaWQgKCpmbikgKGludCwgdm9pZCAqKSkKK3sKKyAgaW50cHRyX3QgayA9 ICsrbmV4dF9leHBlY3RlZDsKKworICBwcmludGYgKCJvbl9leGl0Olx0JXAg JWRcbiIsIGZuLCAoaW50KSBrKTsKKyAgb25fZXhpdCAoZm4sICh2b2lkICop IGspOworICBhc3NlcnQgKG5leHRfc2xvdCA8IE1BWF9PTl9FWElUKTsKKyAg ZXhwZWN0ZWRbbmV4dF9zbG90KytdID0gazsKK30KKworc3RhdGljIGludAor ZG9fdGVzdCAodm9pZCkKK3sKKyAgbXlfb25fZXhpdCAoZm4yKTsKKyAgbXlf b25fZXhpdCAoZm4xKTsKKyAgbXlfb25fZXhpdCAoZm4yKTsKKyAgbXlfb25f ZXhpdCAoZm4zKTsKKyAgcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgVEVTVF9G VU5DVElPTiBkb190ZXN0ICgpCisjaW5jbHVkZSAiLi4vdGVzdC1za2VsZXRv bi5jIgo= --001a11415ae4edd2bf0553f7d961--