From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 92898 invoked by alias); 19 Jul 2019 12:45:46 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 92621 invoked by uid 89); 19 Jul 2019 12:45:29 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Languages-Length:596 X-HELO: mail-qk1-f170.google.com Received: from mail-qk1-f170.google.com (HELO mail-qk1-f170.google.com) (209.85.222.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 19 Jul 2019 12:45:27 +0000 Received: by mail-qk1-f170.google.com with SMTP id r4so23032184qkm.13 for ; Fri, 19 Jul 2019 05:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=6l0LzeOjPUwiB4jMLbLal6Yo2kzqHGSQ/RVlJoT2ITA=; b=WcjPDgN1owPQPjhhrgmanH/l5O2Z3HsBCIZ++mtIjjyYgqDwiALM5sw98pTahTj178 BnA6sSFNp8L8gqFLO02MJaxHrLh36tjAJhBrPSmQG6e6+RuMzQT/wP/NAsdSj0pgVL6O 7Fl6cqIYQN12kPozap9LRo3PCzQsgo3sK0V3QpmnnZxnEAozvt/1w5RtoN1agfAHzeJd /VZDzkVkh8+OzZ1M9wCq0oNRSG1asnApuK6aegbPx/zR6SU4qQYkD1IORSvJxFCAHRa6 8EQg2UGOViCf7+Qm+HN62EY+9oOPVFuFLnLMf+pBNoqkbm/TulnB6N65xYBjFaEPtJVe Nq1Q== MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?Q?V=C3=A1clav_Haisman?= Date: Fri, 19 Jul 2019 12:45:00 -0000 Message-ID: Subject: Re: Function call difference between cygwin and Windows To: cygwin@cygwin.com Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2019-07/txt/msg00146.txt.bz2 On Fri, 19 Jul 2019 at 10:23, Biswapriyo Nath wrote: > > If a function calls both cygwin and Windows functions the binary creates > extra subroutine (in assembly) for cygwin ones. Example: > > * Windows function: > > call cs:CreatePipe > > * cygwin function: > > call ioctl > > ioctl proc near > jmp cs:__imp_ioctl > endp > > The binary is statically compiled. Why there are extra subroutines? Is this > "by-design"? Or am I missing something? This is how Windows DLLs work. See also . -- VH -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple