10000 Clang 18 by yzhang71 · Pull Request #202 · Lind-Project/lind-wasm · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Clang 18 #202

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

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open

Clang 18 #202

wants to merge 30 commits into from

Conversation

yzhang71
Copy link
Contributor
@yzhang71 yzhang71 commented May 5, 2025

Description

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Test A - lind_project/tests/test_cases/test_a.c
  • Test B - lind_project/tests/test_cases/test_b.c

Checklist:

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • Any dependent changes have been added to a pull request and/or merged in other modules (native-client, lind-glibc, safeposix-rust)

@rennergade
Copy link
Contributor

@yzhang71 there are several merge conflicts here

@ci-response-bot
Copy link

Commit 30ddd80: Build Failed

View Log

@ci-response-bot
Copy link

Commit e6cedbb: Build Failed

View Log

$$CC $$CFLAGS $$WARNINGS $$EXTRA_FLAGS \
$$INCLUDE_PATHS $$SYS_INCLUDE $$DEFINES $$EXTRA_DEFINES \
-o $$GLIBC_BASE/build/lind_syscall.o \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The merge from main might have removed the lind_syscall compile here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but I'm not sure if it's necessary, since lind_syscall.o is pre-shipped in the lind_syscall folder, right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like a problem. I believe we changed it to compile every time and not pre-ship since that was causing constant issues.

@yzhang71
Copy link
Contributor Author
yzhang71 commented May 6, 2025

@yzhang71 there are several merge conflicts here

Good catch! Conflicts are resolved.

@ci-response-bot
Copy link

@ci-response-bot
Copy link

@qianxichen233
Copy link
Contributor

the lind_syscall.c auto-compliation stuff still hasn't been merged into main yet? Seems like the test result is still broken for all PRs right now. @m-hemmings @ansalma6

sudo
RUN apt-get update && \
apt-get install -y build-essential git wget gcc-i686-linux-gnu g++-i686-linux-gnu \
bison gawk vim libxml2 python3 curl gcc g++ binaryen unzip zip golang bash
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like some items were removed from this that we need

groupmod --new-name ${USERNAME} ubuntu
RUN echo "lind ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
RUN groupadd --gid 1000 $USERNAME && \
useradd --uid 1000 --gid $USERNAME --create-home --shell /bin/bash $USERNAME && \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice cleanup here, like the flexibility it introduces for other users if necessary

@ci-response-bot
Copy link

Commit 97c9c8c: Build Success

@ci-response-bot
Copy link

@ci-response-bot
Copy link

Commit 85e25c3: Build Success

@ci-response-bot
Copy link

@rennergade
Copy link
Contributor

@yzhang71 if you merge main into here and fix the conflicts this should build with CI now

@ci-response-bot
Copy link

Commit 6e18b65: Build Success

@ci-response-bot
Copy link

m-hemmings
m-hemmings previously approved these changes May 19, 2025
Copy link
Contributor
@qianxichen233 qianxichen233 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test report is still not working. This is a quite important PR that might potentially break a lot of things if not handled carefully, so I would really want to see a normal test report generated for this PR under CI pipeline.

@rennergade
Copy link
Contributor

The test report is still not working. This is a quite important PR that might potentially break a lot of things if not handled carefully, so I would really want to see a normal test report generated for this PR under CI pipeline.

I'm wondering if this is related to Ansal's above lind_syscall.o comment

@qianxichen233
Copy link
Contributor
qianxichen233 commented May 19, 2025

The test report is still not working. This is a quite important PR that might potentially break a lot of things if not handled carefully, so I would really want to see a normal test report generated for this PR under CI pipeline.

I'm wondering if this is related to Ansal's above lind_syscall.o comment

Just looked into the reason of the test report failure and I believe it is related to gen_sysroot.sh. The error wasm-ld: error: unable to find library -lc indicates that wasm-ld couldn't locate libc.a under sysroot/lib/wasm32, which should be produced by gen_sysroot.sh. This likely means that something in gen_sysroot.sh failed during execution.

@m-hemmings could you take a look and see if you can fix the issue, so that test could run normally for all PRs?

@ci-response-bot
Copy link

Commit c18e83d: Build Success

@ansalma6
Copy link
Contributor

The gen_sysroot.sh was not working because it failed to find the lind_syscall.o while bundling. It can be fixed in two ways.
Compile lind_syscall while running build, or prepackage the lind_syscall.o and update its path in gen_sysroot.sh.

I made the change where we compile lind_syscall during bazel build. If that is to be changed to prepackage lind_syscall.o(like crt1.o), there should be a corresponding change in gen_sysroot.sh mentioning the path.

@rennergade
Copy link
Contributor

The gen_sysroot.sh was not working because it failed to find the lind_syscall.o while bundling. It can be fixed in two ways. Compile lind_syscall while running build, or prepackage the lind_syscall.o and update its path in gen_sysroot.sh.

I made the change where we compile lind_syscall during bazel build. If that is to be changed to prepackage lind_syscall.o(like crt1.o), there should be a corresponding change in gen_sysroot.sh mentioning the path.

Thank you @ansalma6! Can you (or @m-hemmings make sure this stuff is documented somewhere in the build docs)

@qianxichen233 does this clarify your concerns?

@ci-response-bot
Copy link

@qianxichen233
Copy link
Contributor

The test report looks much better now. @yzhang71 , could you also take a look at the test report here and compare the test results with those from the main branch? Just want to make sure no additional tests are failing in this PR.

@yzhang71
Copy link
Contributor Author

The test report looks much better now. @yzhang71 , could you also take a look at the test report here and compare the test results with those from the main branch? Just want to make sure no additional tests are failing in this PR.

No problem. I will work on that

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.

7 participants
0