Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement 'use' for rustc #244

Closed
graydon opened this Issue Feb 28, 2011 · 3 comments

Comments

Projects
None yet
3 participants
@graydon
Copy link
Contributor

graydon commented Feb 28, 2011

Rustc can't 'use' crates yet. In fact it can't even write out crate metadata. It has to learn how.

Tasks here involve:

  • Make up a serial encoding of crate metadata that is efficient to incrementally parse and
    seek around inside of, but also stable and simple enough that we're not likely to break it
    all the time as we hack on rustc.
  • Compose a metadata blob of this sort and write it out as a special .note.rust section via
    LLVM. Not sure exactly what support it has for making up our own section names. Try
    your best.
  • Mangle the symbols inside a given crate using the mangling scheme outlined in this
    mailing list post: https://mail.mozilla.org/pipermail/rust-dev/2010-December/000164.html
  • When you 'use' a crate, scan for the .note.rust section (might need to port the objfile
    sniffer from rustboot, see for example boot/be/elf.ml 'sniff' and friends) and read its
    contents into the compilation-crate namespace. Lazily load additional components of
    the 'use'd crate namespace as references and imports demand.
@pcwalton

This comment has been minimized.

Copy link
Contributor

pcwalton commented Mar 12, 2011

"Not sure exactly what support it has for making up our own section names. Try your best."

LLVM supports this, and the stub code now in the tree does it.

@marijnh

This comment has been minimized.

Copy link
Contributor

marijnh commented Mar 15, 2011

@pcwalton

This comment has been minimized.

Copy link
Contributor

pcwalton commented Apr 11, 2011

Marking as fixed; this basically works now.

@pcwalton pcwalton closed this Apr 11, 2011

@pcwalton pcwalton reopened this Apr 11, 2011

@pcwalton pcwalton closed this Apr 11, 2011

keeperofdakeys pushed a commit to keeperofdakeys/rust that referenced this issue Dec 12, 2017

Auto merge of rust-lang#244 - mrhota:basic_locale, r=alexcrichton
Add lconv type, and locale support for UNIX

We have lconv struct, setlocale(), and localeconv(). Constants live
under notbsd for now.

kazcw pushed a commit to kazcw/rust that referenced this issue Oct 23, 2018

sse2: implements last remaining intrinsics (rust-lang#244)
* sse2: __m64 related intrinsics

_mm_add_si64
_mm_mul_su32
_mm_sub_si64
_mm_cvtpi32_pd
_mm_set_epi64
_mm_set1_epi64
_mm_setr_epi64

* sse2: _mm_load_sd, _mm_loadh_pd, _mm_loadl_pd

* sse2: _mm_store_sd, _mm_storeh_pd, _mm_storel_pd

* sse2: _mm_shuffle_pd, _mm_move_sd

* sse2: _mm_cast*

_mm_castpd_ps
_mm_castpd_si128
_mm_castps_pd
_mm_castps_si128
_mm_castsi128_pd
_mm_castsi128_ps

* sse2: add some tests

* Try to fix AppVeyor build

* sse2: add more tests

* sse2: fix assert_instr for _mm_shuffle_pd

* Try to fix Travis build

* sse2: try to fix AppVeyor build

* sse2: try to fix AppVeyor build
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.