From owner-freebsd-questions@freebsd.org Sun Feb 24 23:45:56 2019 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D54A21511EF5 for ; Sun, 24 Feb 2019 23:45:55 +0000 (UTC) (envelope-from jguojun@gmail.com) Received: from mail-oi1-x244.google.com (mail-oi1-x244.google.com [IPv6:2607:f8b0:4864:20::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D8D3B8E83E; Sun, 24 Feb 2019 23:45:54 +0000 (UTC) (envelope-from jguojun@gmail.com) Received: by mail-oi1-x244.google.com with SMTP id e7so5871835oia.8; Sun, 24 Feb 2019 15:45:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=c0TqtIyB1lYQy/yBmMsDq8+/z6Srqdya8GGGmIHrlqo=; b=ksebdBHmjIEVnI6HehC1It/v189uDpz09hpBRiNA2mMlXvKJ2OrxMD52e7/X57ShIM AdMxoqJw0secP2+Z0Ih0JvvEcXeRleh9ptwr/5kYT1/F8EWv5/af0avs8Yuu1CRuamCx P4T/y2oAQSUFHwmWhFdWy6Cx2A1oBR52OrsqxvaG4nvAXhFYnl9oSmKAoJdjuMFvIqd4 3IGRrUbeleMCxj64KoGv/APLFFLKA4ZI6SYEKvkjCoIFwx/rKpo6UAfqiFiYX1pvvY3I ki0IhdmKR1RtWGOURQSFQ1z6cKRVfOkBTBXaFGG/QXYOMo/HIthkGZf7h4Mt8c5/dR+r z3rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=c0TqtIyB1lYQy/yBmMsDq8+/z6Srqdya8GGGmIHrlqo=; b=ZBV/+s/eqli/TSQK7YpASSy3KotD8GMSyHwItrRMe34NAmuW1Drw8KT+3VD1UXKNqA 5pic/mUalBsj14h27tgY8LcyK/L9BmXHml2otPpcjsTZ13d2EkVVfJWAg3ueOwX1v092 0ctxt3PbDV+axM3MTxtXmuB67KW4tjl3XmJIIx/XUbKMDNZO1ykhehhOXPqWGI+sX4Hw YgvH/63CHPFl6ADph9vx0eEarKsmtZXZ2t4LZo5wqef1yq/ZhYsVgiYI8X+EDHU1gP+m CyOduyjMiuVVicHAT/X0JRsU2kM9GwdqXzrF1Mh8BPmhFvOnsHXEL9gAdOXBxlZO1b9q Tt7Q== X-Gm-Message-State: AHQUAuaKuzB5QJa8Z3uMKzEWpOfx4EoqbBPYFMESEHFlh8oYXCuea5TE U4PTp0OQpQb95Du8OMZVfWHublo= X-Google-Smtp-Source: AHgI3IZOQ5s9+dag3j1/yAWN/5MY5BrdhiYYMZJoRVYc4JXBuhviJzctt1SnSdFzHQbXdKqpJ2jm3w== X-Received: by 2002:aca:5f03:: with SMTP id t3mr9587006oib.113.1551051954167; Sun, 24 Feb 2019 15:45:54 -0800 (PST) Received: from [192.168.1.82] (162-239-0-170.lightspeed.sntcca.sbcglobal.net. [162.239.0.170]) by smtp.gmail.com with ESMTPSA id e125sm3604552oia.18.2019.02.24.15.45.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 24 Feb 2019 15:45:53 -0800 (PST) Subject: Re: what causes Clang to use libgcc_s.so in FreeBSD 12.0-R linker To: =?UTF-8?Q?T=c4=b3l_Coosemans?= Cc: "freebsd-questions@freebsd.org" References: <14887cbb-a6ef-c6ac-f7b2-2d91e4c72351@gmail.com> <20190224204458.5652577c@kalimero.tijl.coosemans.org> From: "Jin Guojun[VFF]" Message-ID: <9d121114-8360-d93c-f86c-4d59611e303b@gmail.com> Date: Sun, 24 Feb 2019 15:45:48 -0800 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20190224204458.5652577c@kalimero.tijl.coosemans.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Rspamd-Queue-Id: D8D3B8E83E X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=ksebdBHm; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of jguojun@gmail.com designates 2607:f8b0:4864:20::244 as permitted sender) smtp.mailfrom=jguojun@gmail.com X-Spamd-Result: default: False [-2.28 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.80)[-0.799,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; URL_IN_SUBJECT(0.40)[libgcc_s.so]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(-0.06)[ip: (4.42), ipnet: 2607:f8b0::/32(-2.65), asn: 15169(-2.00), country: US(-0.07)]; NEURAL_SPAM_SHORT(0.19)[0.189,0]; RCVD_IN_DNSWL_NONE(0.00)[4.4.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Feb 2019 23:45:56 -0000 On 02/24/19 11:44, Tijl Coosemans wrote: > On Wed, 13 Feb 2019 17:31:46 -0800 "Jin Guojun[VFF]" > wrote: >> Following CC command used for build a shared library that worked on all >> FreeBSD releases before 12-R. >> >> The -v CC option shows that linker indeed involves libgcc and gcc_s >> somehow, but no -static option was shown. Not clear what the error >> message implies. Also, none of these source code has GNU stuff in it and >> what linker tried to do with gcc libraries? >> >> Is something changed for building shared libraries under 12-R? >> >> Thanks, >> >> -Jin >> >> >> FBSD12:  cc -Wl,-r -o libccs.so `lorder avail_type.so arg_vc.so >> c_array.so calibrate.so colortog >> .so c_map.so colort90.so dbvfft3d.so eta.so errors.so filter_f.so >> fits_io.so fourier.so gaussian >> .so glb_vars.so histgram.so icc_r.so io_ready.so libpbm.so libpbm2.so >> libpbm4.so libpgm1.so libp >> pm1.so libppm3.so libpbm1.so ln2argv.so message.so pict_r.so pgm_r.so >> q_sort.so rotate90.so t_co >> nsum.so tv_random.so time-out.so dbg_memsz.so to_sep.so to_8.so >> quantto8.so sub_mean.so zalloc.s >> o vfft3d.so vfft_2p.so c_map1.so c_to_c.so buffernw.so checksum.so >> dicm_h.so dir_unix.so eget_ws >> z.so gif_r.so ip-hdr.so private.so piperead.so parsargu.so rast_r.so >> sock_cnct.so sock_init.so s >> ock_subr.so swap_all.so table_if.so tv_empty.so tvmath.so u_db.so >> zreopen.so pip_read.so | tsort >> ` >> >> /usr/bin/ld: error: attempted static link of dynamic object >> /usr/lib/libgcc_s.so >> /usr/bin/ld: error: attempted static link of dynamic object >> /usr/lib/libgcc_s.so >> cc: error: linker command failed with exit code 1 (use -v to see invocation) >> *** Error code 1 (ignored) >> >> FBSD12: cc -v -Wl,-r -o libccs.so `lorder avail_type.so arg_vc.so >> c_array.so calibrate.so colortog.so c >> _map.so colort90.so dbvfft3d.so eta.so errors.so filter_f.so fits_io.so >> fourier.so gaussian.so g >> lb_vars.so histgram.so icc_r.so io_ready.so libpbm.so libpbm2.so >> libpbm4.so libpgm1.so libppm1.s >> o libppm3.so libpbm1.so ln2argv.so message.so pict_r.so pgm_r.so >> q_sort.so rotate90.so t_consum. >> so tv_random.so time-out.so dbg_memsz.so to_sep.so to_8.so quantto8.so >> sub_mean.so zalloc.so vff >> t3d.so vfft_2p.so c_map1.so c_to_c.so buffernw.so checksum.so dicm_h.so >> dir_unix.so eget_wsz.so >> gif_r.so ip-hdr.so private.so piperead.so parsargu.so rast_r.so >> sock_cnct.so sock_init.so sock_s >> ubr.so swap_all.so table_if.so tv_empty.so tvmath.so u_db.so zreopen.so >> pip_read.so | tsort` >> FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on >> LLVM 6.0.1) >> Target: x86_64-unknown-freebsd12.0 >> Thread model: posix >> InstalledDir: /usr/bin >>  "/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 >> --hash-style=both --enable-ne >> w-dtags -o libccs.so /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o >> -L/usr/lib -r pip_read. >> so zreopen.so u_db.so tv_empty.so table_if.so rast_r.so parsargu.so >> piperead.so private.so ip-hd >> r.so gif_r.so eget_wsz.so dir_unix.so dicm_h.so checksum.so buffernw.so >> c_map1.so vfft_2p.so sub >> _mean.so to_8.so to_sep.so dbg_memsz.so time-out.so tv_random.so >> t_consum.so pgm_r.so pict_r.so >> ln2argv.so libppm3.so libppm1.so libpgm1.so libpbm2.so libpbm.so >> io_ready.so icc_r.so histgram.s >> o glb_vars.so gaussian.so fits_io.so filter_f.so eta.so dbvfft3d.so >> colort90.so c_map.so colorto >> g.so calibrate.so c_array.so arg_vc.so avail_type.so tvmath.so >> swap_all.so sock_init.so sock_cnc >> t.so vfft3d.so quantto8.so rotate90.so q_sort.so libpbm1.so libpbm4.so >> fourier.so sock_subr.so c >> _to_c.so zalloc.so errors.so message.so -lgcc --as-needed -lgcc_s >> --no-as-needed -lc -lgcc --as- >> needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o >> /usr/bin/ld: error: attempted static link of dynamic object >> /usr/lib/libgcc_s.so >> /usr/bin/ld: error: attempted static link of dynamic object >> /usr/lib/libgcc_s.so >> cc: error: linker command failed with exit code 1 (use -v to see invocation) > I'm not really sure what you are trying to do. You are using -Wl,-r > which suggest you want to combine multiple object files into a single > object file. Normally the extension .o is used for object files but you > are using .so, which is normally used for libraries. Then the output is > named libccs.so which suggests you want to create a library. It's > confusing. > > If you want to combine object files you should not use cc, but ld: > ld -r -o libccs.so ... > > If you want to create a shared library use this: > cc -shared -o libccs.so ... This has been identified a toolchain bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235896