Skip to content

improve mips backend#5431

Merged
bors merged 3 commits into
rust-lang:incomingfrom
crabtw:mips-rt
Apr 4, 2013
Merged

improve mips backend#5431
bors merged 3 commits into
rust-lang:incomingfrom
crabtw:mips-rt

Conversation

@crabtw

@crabtw crabtw commented Mar 19, 2013

Copy link
Copy Markdown
Contributor

Because the PTHREAD_STACK_MIN of my system is larger than default size, I add the stack_sz check to prevent assertion failure.

Besides, libuv has to be modified because some flags are different from other targets. Instead of using hardcoded numbers, I change them to predefined symbols.

By the way, the toolchain I used is http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/mips-gnu-linux

libuv patch: http://people.cs.nctu.edu.tw/~jyyou/rust/mips-uv.patch

Below is the current test result.

  • core test

    stackwalk tests can cause segfault so I ignored them.

failures:
    io::tests::test_read_be_int_n
    io::tests::test_read_buffer_big_enough
    io::tests::test_read_f32
    io::tests::test_read_write_be
    io::tests::test_read_write_f32
    io::tests::test_read_write_le
    io::tests::test_simple
    io::tests::test_write_empty
    rand::tests::rng_seeded_custom_seed2
    unstable::uvll::test::test_uv_ll_struct_size_addrinfo
    unstable::uvll::test::test_uv_ll_struct_size_uv_timer_t

result: FAILED. 596 passed; 11 failed; 49 ignored
  • std test:
failures:
    time::tests::run_tests

result: FAILED. 330 passed; 1 failed; 21 ignored

@sanxiyn

sanxiyn commented Mar 19, 2013

Copy link
Copy Markdown
Contributor

How did you ignore stackwalking tests?

@crabtw

crabtw commented Mar 19, 2013

Copy link
Copy Markdown
Contributor Author

I added #[ignore(cfg(target_arch="mips"))] before #[test].

@yichoi

yichoi commented Mar 19, 2013

Copy link
Copy Markdown
Contributor

It will be better above libuv path and your libuv modification get merged to brson libuv branch

@crabtw

crabtw commented Mar 19, 2013

Copy link
Copy Markdown
Contributor Author

libuv is quite easy to cross compile.
It only has to specify toolchain paths and flags https://github.com/mozilla/rust/pull/5431/files#L1R184

As for core and std tests, I did not use makefile but compiled them manually.
Here are my scripts https://gist.github.com/crabtw/5150198

@brson

brson commented Mar 29, 2013

Copy link
Copy Markdown
Contributor

Since this doesn't impact other platforms I think we can go ahead and merge this even though it looks like it won't quite work without the uv patch. I wonder what upstream's reasons are for not using the O_NONBLOCK etc. constants...

It would be nice to have a comment on the stack size code.

@crabtw

crabtw commented Mar 29, 2013

Copy link
Copy Markdown
Contributor Author

I included limits.h to expose PTHREAD_STACK_MIN and commented on stack size code

@crabtw

crabtw commented Apr 4, 2013

Copy link
Copy Markdown
Contributor Author

bors failed to merge it. Should I rebase against incoming and force push?

@thestinger

Copy link
Copy Markdown
Contributor

@crabtw: yeah, rebasing it is the best idea

@crabtw

crabtw commented Apr 4, 2013

Copy link
Copy Markdown
Contributor Author

I rebased and pushed.

bors added a commit that referenced this pull request Apr 4, 2013
Because the PTHREAD_STACK_MIN of my system is larger than default size, I add the stack_sz check to prevent assertion failure.

Besides, libuv has to be modified because some flags are different from other targets. Instead of using hardcoded numbers, I change them to predefined symbols.

By the way, the toolchain I used is http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/mips-gnu-linux

libuv patch: http://people.cs.nctu.edu.tw/~jyyou/rust/mips-uv.patch

Below is the current test result.

* core test

  stackwalk tests can cause segfault so I ignored them.

```
failures:
    io::tests::test_read_be_int_n
    io::tests::test_read_buffer_big_enough
    io::tests::test_read_f32
    io::tests::test_read_write_be
    io::tests::test_read_write_f32
    io::tests::test_read_write_le
    io::tests::test_simple
    io::tests::test_write_empty
    rand::tests::rng_seeded_custom_seed2
    unstable::uvll::test::test_uv_ll_struct_size_addrinfo
    unstable::uvll::test::test_uv_ll_struct_size_uv_timer_t

result: FAILED. 596 passed; 11 failed; 49 ignored
```

* std test:

```
failures:
    time::tests::run_tests

result: FAILED. 330 passed; 1 failed; 21 ignored
```
@bors bors closed this Apr 4, 2013
@bors bors merged commit 4f1d8cb into rust-lang:incoming Apr 4, 2013
oli-obk pushed a commit to oli-obk/rust that referenced this pull request May 2, 2020
This change adds a check to the `inconsistent_digit_grouping` to add a check for
NumericLiterals that follow the UUID format of 8-4-4-4-12.

If the NumericLiteral matches the UUID format, no further inconsistent grouping checks
will be performed.

Closes rust-lang#5431
oli-obk pushed a commit to oli-obk/rust that referenced this pull request May 2, 2020
… r=phansch

Allow UUID style formatting for `inconsistent_digit_grouping` lint

This change adds a check to the `inconsistent_digit_grouping` to add a check for
NumericLiterals that follow the UUID format of 8-4-4-4-12.

If the NumericLiteral matches the UUID format, no further inconsistent grouping checks
will be performed.

Closes rust-lang#5431

changelog: Allow UUID style formatting for `inconsistent_digit_grouping` lint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants