http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52717
--- Comment #6 from Matt Hargett <matt at use dot net> 2012-03-26 17:32:51 UTC --- The link line that fails: gcc -o bin/smbta-util utils/smbta-util.o dynconfig.o param/loadparm.o param/loadparm_server_role.o param/util.o lib/sharesec.o lib/ldap_debug_handler.o registry/reg_api.o registry/reg_dispatcher.o registry/reg_cachehook.o registry/reg_objects.o registry/reg_util_internal.o lib/util_nttoken.o registry/reg_backend_db.o registry/reg_init_basic.o registry/reg_util_token.o registry/reg_api_util.o registry/reg_backend_smbconf.o registry/reg_init_smbconf.o ../lib/smbconf/smbconf.o ../lib/smbconf/smbconf_util.o ../lib/smbconf/smbconf_txt.o lib/smbconf/smbconf_reg.o lib/smbconf/smbconf_init.o ../libcli/security/privileges.o lib/popt_common.o ./../lib/replace/replace.o ./../lib/replace/snprintf.o ./../lib/replace/getpass.o ../lib/util/rbtree.o ../lib/util/signal.o ../lib/util/time.o ../lib/util/xfile.o ../lib/util/util_strlist.o ../lib/util/util_file.o ../lib/util/data_blob.o ../lib/util/util.o ../lib/util/fsusage.o ../lib/util/params.o ../lib/util/talloc_stack.o ../lib/util/genrand.o ../lib/util/util_net.o ../lib/util/become_daemon.o ../lib/util/system.o ../lib/util/tevent_unix.o ../lib/util/tevent_ntstatus.o ../lib/util/tevent_werror.o ../lib/util/smb_threads.o ../lib/util/util_id.o ../lib/util/blocking.o ../lib/util/rfc1738.o ../lib/util/select.o ../lib/util/util_pw.o ../lib/crypto/crc32.o ../lib/crypto/md5.o ../lib/crypto/hmacmd5.o ../lib/crypto/arcfour.o ../lib/crypto/md4.o ../lib/crypto/sha256.o ../lib/crypto/hmacsha256.o ../lib/crypto/aes.o ../lib/crypto/rijndael-alg-fst.o lib/messages.o librpc/gen_ndr/ndr_messaging.o lib/messages_local.o lib/messages_ctdbd.o lib/packet.o lib/ctdbd_conn.o lib/interfaces.o lib/memcache.o lib/talloc_dict.o lib/serverid.o lib/util_sconn.o lib/util_transfer_file.o ../lib/async_req/async_sock.o lib/addrchange.o lib/util_tdb.o ../lib/util/util_tdb.o ../lib/util/tdb_wrap.o lib/dbwrap.o lib/dbwrap_tdb.o lib/dbwrap_ctdb.o lib/g_lock.o lib/dbwrap_rbt.o lib/version.o lib/charcnv.o ../lib/util/debug.o ../lib/util/debug_s3.o lib/fault.o lib/interface.o lib/pidfile.o lib/system.o lib/sendfile.o lib/recvfile.o lib/time.o lib/username.o ../libds/common/flag_mapping.o lib/access.o lib/smbrun.o lib/bitmap.o lib/dprintf.o ../libcli/registry/util_reg.o lib/wins_srv.o lib/util_str.o lib/clobber.o lib/util_sid.o lib/util_unistr.o ../lib/util/charset/codepoints.o lib/util_file.o lib/util.o lib/util_cmdline.o lib/util_names.o lib/util_sock.o lib/sock_exec.o lib/util_sec.o lib/substitute.o lib/dbwrap_util.o lib/ms_fnmatch.o lib/errmap_unix.o lib/tallocmsg.o lib/dmallocmsg.o libsmb/clisigning.o libsmb/smb_signing.o ../lib/util/charset/iconv.o intl/lang_tdb.o lib/conn_tdb.o lib/adt_tree.o lib/gencache.o lib/sessionid_tdb.o lib/module.o lib/events.o ./../lib/tevent/tevent.o ./../lib/tevent/tevent_debug.o ./../lib/tevent/tevent_util.o ./../lib/tevent/tevent_fd.o ./../lib/tevent/tevent_timed.o ./../lib/tevent/tevent_immediate.o ./../lib/tevent/tevent_signal.o ./../lib/tevent/tevent_req.o ./../lib/tevent/tevent_wakeup.o ./../lib/tevent/tevent_queue.o ./../lib/tevent/tevent_standard.o ./../lib/tevent/tevent_select.o ./../lib/tevent/tevent_poll.o ./../lib/tevent/tevent_epoll.o lib/server_contexts.o lib/ldap_escape.o lib/secdesc.o ../libcli/security/access_check.o ../libcli/security/secace.o ../libcli/security/object_tree.o ../libcli/security/sddl.o ../libcli/security/secacl.o lib/fncall.o libads/krb5_errs.o lib/system_smbd.o lib/audit.o ../librpc/ndr/ndr_basic.o ../librpc/ndr/ndr.o ../librpc/ndr/ndr_misc.o librpc/gen_ndr/ndr_misc.o librpc/gen_ndr/ndr_security.o ../librpc/ndr/ndr_sec_helper.o ../librpc/ndr/ndr_string.o ../librpc/ndr/uuid.o librpc/ndr/util.o librpc/gen_ndr/ndr_server_id.o librpc/gen_ndr/ndr_dcerpc.o lib/file_id.o lib/idmap_cache.o ../libcli/security/dom_sid.o ../libcli/security/security_descriptor.o ../libcli/security/security_token.o ../libcli/security/util_sid.o lib/dummysmbd.o lib/dummyroot.o libsmb/nterr.o libsmb/smberr.o ../libcli/util/doserr.o libsmb/errormap.o ../librpc/rpc/dcerpc_error.o ../libcli/auth/smbdes.o ../libcli/auth/smbencrypt.o ../libcli/auth/msrpc_parse.o ../libcli/auth/session.o passdb/secrets.o passdb/machine_account_secrets.o passdb/machine_sid.o librpc/gen_ndr/ndr_secrets.o lib/filename_util.o -pie -Wl,-z,relro -O2 -flto -L./bin -Wl,--export-dynamic -lresolv -lresolv -lnsl -ldl -lrt -lldap -llber -lpopt -ltalloc -ltdb To make the failure go away, just add -finline-functions. Similarly, changing -O2 to -O3 also eliminates the error.