From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 0bd4acc0 for ; Mon, 24 Feb 2020 10:52:52 +0000 (UTC) Received: (qmail 4362 invoked by alias); 24 Feb 2020 10:52:46 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 45487 Received: (qmail 26137 invoked by uid 1010); 24 Feb 2020 10:52:46 -0000 X-Qmail-Scanner-Diagnostics: from mailout1.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.2/25731. spamassassin: 3.4.2. Clear:RC:0(210.118.77.11):SA:0(-7.0/5.0):. Processed in 3.560612 secs); 24 Feb 2020 10:52:46 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.samsung.com designates 210.118.77.11 as permitted sender) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200224105203euoutp0189d27e811eae78d9f26eafc8d23a4e7c~2USGWcYQz1049010490euoutp01z X-AuditID: cbfec7f5-a29ff7000001ed1a-fb-5e53aad39e6e Message-ID: <1582541522.4501.1.camel@samsung.com> Subject: Re: Unable to compile zsh on AIX From: Peter Stephenson To: , Arnon Yaari Date: Mon, 24 Feb 2020 10:52:02 +0000 In-Reply-To: <9783161F-B87A-4732-B8ED-7A3633758546@infinidat.com> X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBIsWRmVeSWpSXmKPExsWy7djPc7qXVwXHGRztVLU4f2ITq8XB5odM DkweL59tY/JYdfADUwBTFJdNSmpOZllqkb5dAlfG5c9nmQpmiVfMP7+WqYHxjHAXIyeHhICJ xPql/5m6GLk4hARWMEqsaL4M5XxhlPjV9QHK+cwo8eDoQSCHA6zl3h1WiPhyRolZ6y6ywxV1 nv0I1XGGUeLbxQOMEM4FRon29g/MIBt5BQwlFu18wghiCwtoSkyf3gwWZwOKT900mxFkhYiA rcSVCQEgYRYBVYmWB//ByjkFHCUaD89ngzhcQ2LDzWNMECMFJU7OfMICYjMLyEs0b53NDLJX QuA9m8TEuYuYIRpcJJYsX8sEYQtLvDq+hR3ClpH4v3M+E0RDO6PEmkmv2SGcHkaJTUfvMEJU WUv03b4Idh0z0NXrd+lDhB0ljnduYYSEC5/EjbeCEEfwSUzaNp0ZIswr0dEmBFGtJrGjaStU tYzE0zUKExiVZiH5YBaSD2YhrFrAyLyKUTy1tDg3PbXYOC+1XK84Mbe4NC9dLzk/dxMjMD2c /nf86w7GfX+SDjEKcDAq8fCuOBIUJ8SaWFZcmXuIUYKDWUmE15sRKMSbklhZlVqUH19UmpNa fIhRmoNFSZzXeNHLWCGB9MSS1OzU1ILUIpgsEwenVAPjQSfOgtyerK8l20QjT60JTfu1e2NS QlLYzi87TZI1M1PWxQeysXKveXL64KqQ6pTsS7tVgpy2HnR7HPbQ//PDyXXvt9y7tejAy+u7 NsuK5hX+at4VtFms5/Y7/Qs2ZzKWdxXp8pSsNVpUfXduE79+hIXW/5NBl+0m9W+znHzpfDDL aY4dAa/7lViKMxINtZiLihMBpaP+/QsDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupmkeLIzCtJLcpLzFFi42I5/e/4Xd3Lq4LjDNbsE7I4f2ITq8XB5odM DkweL59tY/JYdfADUwBTlJ5NUX5pSapCRn5xia1StKGFkZ6hpYWekYmlnqGxeayVkamSvp1N SmpOZllqkb5dgl7G5c9nmQpmiVfMP7+WqYHxjHAXIweHhICJxL07rF2MXBxCAksZJZ4+nsbY xcgJFJeR+HTlIzuELSzx51oXG0TRR0aJ/h8XmSCcM4wS/x8/hWq/wCjxctNssBZeAUOJRTuf gI0SFtCUmD69mRnEZgOKT900mxFktYiArcSVCQEgYRYBVYmWB//ByjkFHCUaD8+H2jaVUWJx /wqwmcxAc1q3/4Y6SUNiw81jTBC7BCVOznzCAlEjL9G8dTbzBEahWUhaZiEpm4WkbAEj8ypG kdTS4tz03GJDveLE3OLSvHS95PzcTYzAiNh27OfmHYyXNgYfYhTgYFTi4V1xJChOiDWxrLgy 9xCjBAezkgivNyNQiDclsbIqtSg/vqg0J7X4EKMp0EcTmaVEk/OB0ZpXEm9oamhuYWlobmxu bGahJM7bIXAwRkggPbEkNTs1tSC1CKaPiYNTqoHRcMv6XSFzt3yzPdomLTI9aY5remD2T127 Cd8qVuwQO83P9+DOkf3l/DfUFt1t2S7wy17z3+uQxdM1q6feKZfv5u9Xjs9X7ZXlLNn68t2L g13zLRkyuOI+2r5dPa+s7u2k/73hn07OrLCwsHimcvj/zNJMW2++w6xes6Zz9q9fUB7DyTxl UtN0JZbijERDLeai4kQASyZMcp4CAAA= X-CMS-MailID: 20200224105203eucas1p2126d1e1c354d76a08d5e6949663ee21d X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20200224103625eucas1p1837b5b111e07832e3a85533107728289 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200224103625eucas1p1837b5b111e07832e3a85533107728289 References: <9783161F-B87A-4732-B8ED-7A3633758546@infinidat.com> On Mon, 2020-02-24 at 12:35 +0200, Arnon Yaari wrote: > I am trying to compile zsh on an AIX machine and I am getting errors about undefined symbols during linking, specifically: >  > ld: 0711-317 ERROR: Undefined symbol: .zgetcwd > ld: 0711-317 ERROR: Undefined symbol: .xsymlink >  > Operating system: AIX 7.1 (7100-04-06-1806) > Compiler: gcc 6.3.0 from IBM's AIX Toolbox for Linux Applications > Command and full output: https://protect2.fireeye.com/url?k=ce885d5c-93585590-ce89d613-000babff3793-05723340001ba74f&u=https://gist.github.com/wiggin15/12900e64a3dd5711cd3a05f1f975825d >  > I don't know if I am using the right approach, but I was able to compile zsh after adding "mod_export" modifiers to the following functions: >  > zgetcwd > xsymlink > bin_typeset > redrawhook > backwardmetafiedchar > openkeymap That's exactly the right approach, yes.  We used to do this for AIX but it's rather fallen off the radar in recent years.  I'll get the following in ASAP. pws diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c index d13aed594..2389ab754 100644 --- a/Src/Zle/zle_keymap.c +++ b/Src/Zle/zle_keymap.c @@ -404,7 +404,7 @@ scankeys(HashNode hn, UNUSED(int flags))  /**************************/    /**/ -Keymap +mod_export Keymap  openkeymap(char *name)  {      KeymapName n = (KeymapName) keymapnamtab->getnode(keymapnamtab, name); diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index be68f4722..8c0534708 100644 --- a/Src/Zle/zle_main.c +++ b/Src/Zle/zle_main.c @@ -1056,7 +1056,7 @@ getrestchar(int inchar, char *outstr, int *outcount)  #endif    /**/ -void +mod_export void  redrawhook(void)  {      Thingy initthingy; diff --git a/Src/Zle/zle_move.c b/Src/Zle/zle_move.c index 155fda80d..3bafff3f1 100644 --- a/Src/Zle/zle_move.c +++ b/Src/Zle/zle_move.c @@ -166,7 +166,7 @@ decpos(int *pos)   */    /**/ -char * +mod_export char *  backwardmetafiedchar(char *start, char *endptr, convchar_t *retchr)  {  #ifdef MULTIBYTE_SUPPORT diff --git a/Src/builtin.c b/Src/builtin.c index aa5767cf1..407cad159 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -2597,7 +2597,7 @@ typeset_single(char *cname, char *pname, Param pm, UNUSED(int func),   */    /**/ -int +mod_export int  bin_typeset(char *name, char **argv, LinkList assigns, Options ops, int func)  {      Param pm; diff --git a/Src/compat.c b/Src/compat.c index 8ab335aa1..74e426fba 100644 --- a/Src/compat.c +++ b/Src/compat.c @@ -496,7 +496,7 @@ zgetdir(struct dirsav *d)   */    /**/ -char * +mod_export char *  zgetcwd(void)  {      char *ret = zgetdir(NULL); diff --git a/Src/utils.c b/Src/utils.c index f5667f389..f9c2d4a2b 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -1023,7 +1023,7 @@ xsymlinks(char *s, int full)   */    /**/ -char * +mod_export char *  xsymlink(char *s, int heap)  {      if (*s != '/')