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

cleanups for generated Makefile: EXTRA_LD_FLAGS, link libgcc.a only on ARM #544

Merged
merged 3 commits into from Jul 19, 2016

Conversation

Projects
None yet
3 participants
@hannesm
Member

hannesm commented Jun 12, 2016

No description provided.

@hannesm hannesm changed the title from do not merge yet (WIP patches) to cleanups for generated Makefile: EXTRA_LD_FLAGS, link libgcc.a only on ARM Jun 12, 2016

@hannesm

This comment has been minimized.

Member

hannesm commented Jun 12, 2016

I've tested this to work with both unix and xen backends, and hope this is an uncontroversial change. The libgcc.a linking was discussed in the commit c17f2f6#commitcomment-17573123 ; the EXTRA_LD_FLAGS (and using a set instead of multiple occurences of -L flags) is mainly cosmetic atm (but opens the ability to easily integrate a byte usage visualisation into the toolchain - see https://hannes.nqsb.io/Posts/BottomUp).

It would be great if someone would review and merge this (travis is also happy, and now uses both 4.02 and 4.03!)

@hannesm

This comment has been minimized.

Member

hannesm commented Jun 14, 2016

any opinion (@samoht @talex5 maybe?) :)

@avsm

This comment has been minimized.

Member

avsm commented Jun 14, 2016

Does this preclude using clang on ARM? Not sure if it worked before, but it definitely doesn't now :-)

@avsm

This comment has been minimized.

Member

avsm commented Jun 14, 2016

I have an Alpine 3.4 setup just installed on my rPi2, can built test this as soon as it's stable.

@hannesm

This comment has been minimized.

Member

hannesm commented Jun 14, 2016

@avsm thx, clang was never supported, see mirage/mini-os#1 as well (vanilla mini-os works with clang, ours does not). This PR actually removes the libgcc.a dependency from x86 hosts on Xen...

hannesm added some commits Jun 12, 2016

move additional ld flags into a Makefile variable
instead of exposing this only to the `build:` rule, define the variable
EXTRA_LD_FLAGS.  This is a prerequisite to get the byte size visualisation
merged upstream

In addition to that, cleanup the flags by using a Set, avoiding multiple
occurences of -L flags
@hannesm

This comment has been minimized.

Member

hannesm commented Jun 14, 2016

rebased onto @yomimono pseudoheader merge; and separated the changes to .travis.yml into #545

@yomimono

This comment has been minimized.

Member

yomimono commented Jun 15, 2016

This patch looks reasonable to me.

@hannesm

This comment has been minimized.

Member

hannesm commented Jun 15, 2016

anyone against merging? @avsm

@avsm

This comment has been minimized.

Member

avsm commented Jun 16, 2016

hang on, just want to test it in CI first -- I've got the docker run -it ocaml/opam:raspbian-8_ocaml-4.02.3 working now

@hannesm

This comment has been minimized.

Member

hannesm commented Jun 19, 2016

@avsm it is still unclear to me what you want to test in the CI. does your raspbian compile (and run) xen on arm? since the x86 unix and xen parts work, I don't see (since there's no conditional code) how arm-unix could fail. is there an estimation when your test runs will finish?

@hannesm hannesm referenced this pull request Jul 6, 2016

Closed

[tracking] solo5 (virtio) on FreeBSD bhyve #61

17 of 17 tasks complete

@avsm avsm merged commit cc94e30 into mirage:master Jul 19, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@hannesm hannesm deleted the hannesm:patch branch Jul 19, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment