[LLVMdev] Changes to Debian's linker object files breaks building LLVM [crti.o, crt1.o, crtn.o]

James Molloy James.Molloy at arm.com
Fri Aug 26 00:35:10 PDT 2011


Hi,

> Does clang support similar options?

Yes, Clang supports the -B option. Have you tried emailing cfe-dev at cs.uiuc.edu? That's where the Clang developers (that aren't LLVM devs) hang out.

Cheers,

James

From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Marc J. Driftmeyer
Sent: 26 August 2011 01:59
To: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Changes to Debian's linker object files breaks building LLVM [crti.o, crt1.o, crtn.o]

Debian's response I enclose to see if this helps out:


reassign 639214 general
forcemerge 637232 639214
quit

Hi Marc,

Marc J. Driftmeyer wrote:

With the most recent changes of moving the object files under
/usr/lib/x86_64-linux-gnu/ the linker to build Clang/LLVM breaks.

A workaround is to add symlinks for crt1.o, crti.o and crtn.o back
under /usr/lib.
>From /usr/share/doc/libc6/NEWS.Debian.gz:

  Starting with the eglibc package version 2.13-5, the libraries are
  shipped in the multiarch directory /lib/$arch instead of the more
  traditional /lib. Similarly the includes are now shipped in
  /usr/include/$arch instead of the more traditional /usr/include.

  The toolchain in Debian has been updated to cope with that, and most
  build systems should be unaffected. If you are using a non-Debian
  toolchain to build your software and it is not able to cope with
  multiarch, you might try to pass the following option to your
  compiler:

    -B/usr/lib/$arch -I/usr/include/$arch

Does clang support similar options?

See also http://llvm.org/bugs/show_bug.cgi?id=6541 which suggests to
me that upstream is interested in out-of-the-box support for the new
paths.

Reassigning to "general" and merging with the relevant bug, since this
is far from a libc-specific problem.  See [1] for some background.

Thanks and hope that helps,
Jonathan

[1] http://wiki.debian.org/Multiarch

- Marc



On 08/24/2011 06:36 PM, Marc J. Driftmeyer wrote:
I've got a simple workaround which obviously everyone will figure out:

mdriftmeyer at horus:/usr/lib$ sudo ln -s x86_64-linux-gnu/crti.o crti.o
mdriftmeyer at horus:/usr/lib$ sudo ln -s x86_64-linux-gnu/crt1.o crt1.o
mdriftmeyer at horus:/usr/lib$ sudo ln -s x86_64-linux-gnu/crtn.o crtn.o

My real question concerns whether or not I should file a bug report against Debian not having a transition path or other means in Debian's update-alternatives infrastructure to update those paths and make them available system-wide or whether LLVM needs to be aware of this move and update autotools configurations files for make to traverse.

- Sincerely,

Marc
--
Marc J. Driftmeyer
Email :: mjd at reanimality.com
Web :: http://www.reanimality.com
Cell :: (509) 435-5212



_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

--
Marc J. Driftmeyer
Email :: mjd at reanimality.com
Web :: http://www.reanimality.com
Cell :: (509) 435-5212

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.




More information about the llvm-dev mailing list