From 0e8310221925680b5e13c080511ce1d733b7dc18 Mon Sep 17 00:00:00 2001 From: Zack Corr Date: Sat, 16 Feb 2013 21:58:21 +1000 Subject: [PATCH] Add target_endian crate cfg. Closes #4367 --- src/librustc/driver/driver.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs index 5fc284bc9fc49..e091e93f3726c 100644 --- a/src/librustc/driver/driver.rs +++ b/src/librustc/driver/driver.rs @@ -88,10 +88,12 @@ pub fn default_configuration(sess: Session, +argv0: ~str, input: input) -> let mk = attr::mk_name_value_item_str; - let (arch,wordsz) = match sess.targ_cfg.arch { - session::arch_x86 => (~"x86",~"32"), - session::arch_x86_64 => (~"x86_64",~"64"), - session::arch_arm => (~"arm",~"32") + // ARM is bi-endian, however using NDK seems to default + // to little-endian unless a flag is provided. + let (end,arch,wordsz) = match sess.targ_cfg.arch { + session::arch_x86 => (~"little",~"x86",~"32"), + session::arch_x86_64 => (~"little",~"x86_64",~"64"), + session::arch_arm => (~"little",~"arm",~"32") }; return ~[ // Target bindings. @@ -99,6 +101,7 @@ pub fn default_configuration(sess: Session, +argv0: ~str, input: input) -> mk(~"target_os", tos), mk(~"target_family", str::from_slice(os::FAMILY)), mk(~"target_arch", arch), + mk(~"target_endian", end), mk(~"target_word_size", wordsz), mk(~"target_libc", libc), // Build bindings.