Page MenuHomePhabricator

haowei (Haowei Wu)
User

Projects

User does not belong to any projects.

User Details

User Since
May 16 2017, 3:05 PM (203 w, 4 d)

Recent Activity

Thu, Apr 8

haowei requested review of D100139: [ifs][elfabi] Merge llvm-ifs/elfabi tools.
Thu, Apr 8, 2:11 PM · Restricted Project, Restricted Project
haowei updated the diff for D99810: [ifs] Prepare llvm-ifs for elfabi/ifs merging..

Split this change into 2.

Thu, Apr 8, 1:50 PM · Restricted Project, Restricted Project

Tue, Apr 6

haowei added a comment to D99810: [ifs] Prepare llvm-ifs for elfabi/ifs merging..

I will try to split this change.

Tue, Apr 6, 8:38 PM · Restricted Project, Restricted Project
haowei updated the diff for D99810: [ifs] Prepare llvm-ifs for elfabi/ifs merging..
Tue, Apr 6, 8:34 PM · Restricted Project, Restricted Project

Fri, Apr 2

haowei updated the diff for D99810: [ifs] Prepare llvm-ifs for elfabi/ifs merging..

Addressed clang tests.

Fri, Apr 2, 3:44 PM · Restricted Project, Restricted Project
haowei added reviewers for D99810: [ifs] Prepare llvm-ifs for elfabi/ifs merging.: phosek, plotfi, compnerd, mcgrathr.
Fri, Apr 2, 12:04 PM · Restricted Project, Restricted Project
haowei requested review of D99810: [ifs] Prepare llvm-ifs for elfabi/ifs merging..
Fri, Apr 2, 12:02 PM · Restricted Project, Restricted Project

Wed, Mar 31

haowei updated the diff for D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..
Wed, Mar 31, 5:05 PM · Restricted Project
haowei added inline comments to D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..
Wed, Mar 31, 3:18 PM · Restricted Project
haowei updated the diff for D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..
Wed, Mar 31, 3:09 PM · Restricted Project

Tue, Mar 30

haowei added inline comments to D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..
Tue, Mar 30, 5:29 PM · Restricted Project
haowei updated the diff for D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..
Tue, Mar 30, 5:29 PM · Restricted Project
haowei updated the diff for D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..
Tue, Mar 30, 5:24 PM · Restricted Project

Mon, Mar 29

haowei updated the diff for D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..

Address test failures.

Mon, Mar 29, 8:57 PM · Restricted Project

Thu, Mar 25

haowei updated the diff for D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..

Address clang-tidy warnings.

Thu, Mar 25, 10:15 PM · Restricted Project
haowei requested review of D99399: [elfabi] Prepare llvm-elfabi for elfabi/ifs merging..
Thu, Mar 25, 9:58 PM · Restricted Project

Mar 4 2021

haowei committed rGdb06088d63f8: [llvm-ifs] Add option to use InterfaceStub library (authored by haowei).
[llvm-ifs] Add option to use InterfaceStub library
Mar 4 2021, 11:30 AM
haowei closed D94461: [llvm-ifs] Add option to use InterfaceStub library.
Mar 4 2021, 11:29 AM · Restricted Project

Feb 24 2021

haowei removed a reviewer for D90448: [clang] Add type check for explicit instantiation of static data members: haowei.
Feb 24 2021, 5:49 PM · Restricted Project

Feb 19 2021

haowei committed rG784c7debb217: [elfabi] Fix a bug when .dynsym contains no non-local symbol (authored by haowei).
[elfabi] Fix a bug when .dynsym contains no non-local symbol
Feb 19 2021, 11:38 AM
haowei closed D96930: [elfabi] Fix a bug when elfabi is supplied with a tbe file contains no non-local symbol..
Feb 19 2021, 11:37 AM · Restricted Project

Feb 18 2021

haowei updated subscribers of D96780: [NPM][LTO] Update buildLTODefaultPipeline to be more in-line with the old pass manager.

Hi, it looks like this change broke our (Fuchsia's) toolchain builder. We are seeing linker errors when we do stage2 builds:

Feb 18 2021, 9:10 PM · Restricted Project

Feb 17 2021

haowei added a comment to D96930: [elfabi] Fix a bug when elfabi is supplied with a tbe file contains no non-local symbol..

an empty symbol table

It is not empty. It contains exactly one entry, a local symbol with index 0.

Feb 17 2021, 9:22 PM · Restricted Project
haowei updated the diff for D96930: [elfabi] Fix a bug when elfabi is supplied with a tbe file contains no non-local symbol..
Feb 17 2021, 9:19 PM · Restricted Project
haowei retitled D96930: [elfabi] Fix a bug when elfabi is supplied with a tbe file contains no non-local symbol. from [elfabi] Fix a bug when elfabi is supplied with an tbe file contains no non-local symbol. to [elfabi] Fix a bug when elfabi is supplied with a tbe file contains no non-local symbol..
Feb 17 2021, 9:14 PM · Restricted Project
haowei retitled D96930: [elfabi] Fix a bug when elfabi is supplied with a tbe file contains no non-local symbol. from [elfabi] Fix a bug when elfabi is supplied with an empty symbol table to [elfabi] Fix a bug when elfabi is supplied with an tbe file contains no non-local symbol..
Feb 17 2021, 9:14 PM · Restricted Project
haowei updated the diff for D96930: [elfabi] Fix a bug when elfabi is supplied with a tbe file contains no non-local symbol..
Feb 17 2021, 9:14 PM · Restricted Project
haowei requested review of D96930: [elfabi] Fix a bug when elfabi is supplied with a tbe file contains no non-local symbol..
Feb 17 2021, 8:30 PM · Restricted Project

Feb 10 2021

haowei committed rG2407eb08a574: [analyzer] Update static analyzer to be support sarif-html (authored by Daniel Hwang <arkay@google.com>).
[analyzer] Update static analyzer to be support sarif-html
Feb 10 2021, 6:35 PM
haowei closed D96389: [analyzer] Update static analyzer to be support sarif-html.
Feb 10 2021, 6:35 PM · Restricted Project

Feb 8 2021

haowei added a comment to D94461: [llvm-ifs] Add option to use InterfaceStub library.

Ping? Haven't seen any chatter in a while. Anything new here? I don't want to hold you folks up.

Feb 8 2021, 6:07 PM · Restricted Project

Feb 7 2021

haowei committed rGd72859ffa237: [scan-build-py] Update scan-build-py to allow outputing as SARIF (authored by Daniel Hwang <arkay@google.com>).
[scan-build-py] Update scan-build-py to allow outputing as SARIF
Feb 7 2021, 6:26 PM
haowei closed D94251: [scan-build-py] Update scan-build-py to allow outputing as SARIF..
Feb 7 2021, 6:26 PM · Restricted Project

Feb 5 2021

haowei accepted D94251: [scan-build-py] Update scan-build-py to allow outputing as SARIF..
Feb 5 2021, 4:59 PM · Restricted Project

Feb 1 2021

haowei committed rG771b35965457: [elfabi] Fix tests which failed on different timezones (authored by haowei).
[elfabi] Fix tests which failed on different timezones
Feb 1 2021, 10:59 AM
haowei closed D95641: [elfabi] Fix tests which failed on different timezones.
Feb 1 2021, 10:59 AM · Restricted Project

Jan 29 2021

haowei updated the diff for D95641: [elfabi] Fix tests which failed on different timezones.

Added env TZ=GMT to force use GMT timezone. Not quite sure if it works on Windows. The default cmd.exe does not seem to support env VAR=VAL pattern to set environment variables.

Jan 29 2021, 11:35 AM · Restricted Project

Jan 28 2021

haowei requested review of D95641: [elfabi] Fix tests which failed on different timezones.
Jan 28 2021, 2:29 PM · Restricted Project
haowei added a comment to D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.

I think I figured out the issue we saw. My local timezone is GMT-8 while @hans and @gargaroff are probably at GMT+1 . When touch is supplied with a time stamp 197001010000 it interpret ate it as local time, so the actual UTC time on my machine would be 197001010800 while on your machines it would be 196912312300, which is probably not valid based on how unix time work. I tried to modify my time zone to GMT+1 and I encountered the same issue:

Jan 28 2021, 1:00 PM · Restricted Project
haowei added a comment to D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
In any case, if it's working on your side, then there must be something wrong with my setup for some reason. I'll try to figure it out or just update the tests in our downstream repo. The Windows container does seem quite brittle after all. Sorry for bothering and thanks for checking anyway!

The test also fails on my machine, and I can reproduce the touch problem:

C:\src\tmp>touch --version
touch (GNU coreutils) 5.3.0
Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.

Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

C:\src\tmp>touch -m -t 197001010000 foo
touch: invalid date format `197001010000'

I also don't see it on any buildbots, but I'm not entirely sure why.

In any case, my machine is used to build the LLVM releases, and since this landed before the 12.0.0 branch point, it's now blocking the LLVM 12 release and we need to fix it somehow. Filed https://bugs.llvm.org/show_bug.cgi?id=48917 to track this.

Jan 28 2021, 10:14 AM · Restricted Project

Jan 27 2021

haowei added a comment to D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.

Hi @haowei !
The tests are failing on Windows with GnuWin32 installed, because touch fails to parse the date string:

C:\GnuWin\bin\touch.exe: invalid date format `197001010000'

Could you take a look and fix this? I'm using the pre-merge-checks Windows container to test this.

Jan 27 2021, 10:10 PM · Restricted Project

Jan 26 2021

haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

@haowei Please re-test after rebasing. The SectionHeaderTable syntax has changed. I have fixed read-elf-dynsym.test

Jan 26 2021, 1:34 PM · Restricted Project
haowei committed rG15313f64be9d: [llvm-elfabi] Support ELF file that lacks .gnu.hash section (authored by haowei).
[llvm-elfabi] Support ELF file that lacks .gnu.hash section
Jan 26 2021, 12:32 PM
haowei closed D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 26 2021, 12:32 PM · Restricted Project

Jan 25 2021

haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

I plan to land this patch since the issue raised is a preexisting one and I prefer to address it in a separate change.

Jan 25 2021, 6:05 PM · Restricted Project

Jan 22 2021

haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

@MaskRay Do you have further comments on this change? Can I get an LGTM from you? Thanks.

Jan 22 2021, 10:41 AM · Restricted Project

Jan 20 2021

haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 20 2021, 11:25 AM · Restricted Project
haowei added inline comments to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 20 2021, 1:23 AM · Restricted Project
haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 20 2021, 1:21 AM · Restricted Project

Jan 19 2021

haowei added inline comments to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 19 2021, 6:11 PM · Restricted Project
haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 19 2021, 6:09 PM · Restricted Project

Jan 15 2021

haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

For the case to test error message when sh_size % sh_entsize is not 0, I didn't find any good examples that I can manipulate the sh_entsize through yaml2obj. Do you have good suggestions to write unit tests for these cases?

Can you elaborate what the problem is? There are many examples in both yaml2obj and llvm-readelf test suites that are using the EntSize key to set the sh_entsize.

Jan 15 2021, 6:31 PM · Restricted Project
haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 15 2021, 6:29 PM · Restricted Project
haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 15 2021, 6:03 PM · Restricted Project

Jan 14 2021

haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

Is it important that the .dynsym is used directly when .hash/.gnu.hash is available? At the moment, your test doesn't really show whether it is used or whether you go straight to the dynamic tags for details, I believe - to do that, you'd need to have one given bogus values for the size, and show that this is not sued. Additionally, you have no testing for your error messages, nor do you have testing that shows that the .gnu.hash is used above the .hash section.

Jan 14 2021, 4:59 PM · Restricted Project
haowei added inline comments to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 14 2021, 12:11 AM · Restricted Project
haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 14 2021, 12:10 AM · Restricted Project

Jan 13 2021

haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

I rebased the code, it seems upset the Phabricator since it does not distinguish between rebase changes and actual changes.

What do you mean it seems upset? The review here looks fine to me.

If I compare Diff 2 and Diff 3 in Phabricator, the result looks weird as rebase changes were included.

Jan 13 2021, 10:15 PM · Restricted Project
haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 13 2021, 9:59 PM · Restricted Project

Jan 12 2021

haowei added inline comments to D94461: [llvm-ifs] Add option to use InterfaceStub library.
Jan 12 2021, 4:09 PM · Restricted Project
haowei updated the diff for D94461: [llvm-ifs] Add option to use InterfaceStub library.

fix some code style issues.

Jan 12 2021, 4:06 PM · Restricted Project
haowei updated the diff for D94461: [llvm-ifs] Add option to use InterfaceStub library.
Jan 12 2021, 3:59 PM · Restricted Project

Jan 11 2021

haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

I rebased the code, it seems upset the Phabricator since it does not distinguish between rebase changes and actual changes.

Jan 11 2021, 10:37 PM · Restricted Project
haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Jan 11 2021, 10:26 PM · Restricted Project
haowei requested review of D94461: [llvm-ifs] Add option to use InterfaceStub library.
Jan 11 2021, 5:35 PM · Restricted Project

Jan 6 2021

haowei committed rG8deaec122ec6: [analyzer] Update Fuchsia checker to catch releasing unowned handles. (authored by Daniel Hwang <arkay@google.com>).
[analyzer] Update Fuchsia checker to catch releasing unowned handles.
Jan 6 2021, 4:24 PM
haowei closed D93868: [analyzer] Update Fuchsia checker to catch when releasing unowned handles..
Jan 6 2021, 4:24 PM · Restricted Project
haowei accepted D93868: [analyzer] Update Fuchsia checker to catch when releasing unowned handles..
Jan 6 2021, 11:28 AM · Restricted Project

Jan 5 2021

haowei added inline comments to D93868: [analyzer] Update Fuchsia checker to catch when releasing unowned handles..
Jan 5 2021, 7:38 PM · Restricted Project
haowei abandoned D36475: [analyzer] Add "create_sink" annotation support to MagentaHandleChecker.

An updated version was landed in f4c26d993bdc . This diff is no longer needed.

Jan 5 2021, 3:53 PM
haowei abandoned D36251: [analyzer] Suppress warning when bug path contains noreturn function or return from main in MagentaHandleChecker.

An updated version was landed in f4c26d993bdc . This diff is no longer needed.

Jan 5 2021, 3:53 PM
haowei abandoned D36024: [analyzer] Improved bug reporting in MagentaHandleChecker.

An updated version was landed in f4c26d993bdc . This diff is no longer needed.

Jan 5 2021, 3:52 PM
haowei abandoned D36023: [analyzer] Add array support for MagentaHandleChecker.

An updated version was landed in f4c26d993bdc . This diff is no longer needed.

Jan 5 2021, 3:52 PM
haowei abandoned D36022: [analyzer] Add handle misuse analysis to MagentaHandleChecker.

An updated version was landed in f4c26d993bdc . This diff is no longer needed.

Jan 5 2021, 3:51 PM
haowei abandoned D35968: [analyzer] Add MagentaHandleChecker for the Magenta kernel.

An updated version was landed in f4c26d993bdc . This diff is no longer needed.

Jan 5 2021, 3:50 PM
haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

friendly ping.

Jan 5 2021, 3:43 PM · Restricted Project

Dec 29 2020

haowei committed rGa1d058926686: [llvm-elfabi] Add flag to preserve timestamp when output is the same (authored by haowei).
[llvm-elfabi] Add flag to preserve timestamp when output is the same
Dec 29 2020, 8:32 PM
haowei updated the diff for D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.

fix test on mac

Dec 29 2020, 8:29 PM · Restricted Project
haowei added a comment to D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.

Looks like this breaks tests on mac: http://45.33.8.238/macm1/897/step_10.txt

Please take a look, and revert for now if it takes a while to fix.

Change was reverted. Looks like touch on bsd behaves differently from the gnu one.

Dec 29 2020, 5:30 PM · Restricted Project
haowei added a reverting change for rGfddb41744958: [llvm-elfabi] Add flag to preserve timestamp when output is the same: rGd034a94e7b3c: Revert "[llvm-elfabi] Add flag to preserve timestamp when output is the same".
Dec 29 2020, 5:27 PM
haowei committed rGd034a94e7b3c: Revert "[llvm-elfabi] Add flag to preserve timestamp when output is the same" (authored by haowei).
Revert "[llvm-elfabi] Add flag to preserve timestamp when output is the same"
Dec 29 2020, 5:27 PM
haowei added a reverting change for D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same: rGd034a94e7b3c: Revert "[llvm-elfabi] Add flag to preserve timestamp when output is the same".
Dec 29 2020, 5:27 PM · Restricted Project
haowei committed rGfddb41744958: [llvm-elfabi] Add flag to preserve timestamp when output is the same (authored by haowei).
[llvm-elfabi] Add flag to preserve timestamp when output is the same
Dec 29 2020, 3:06 PM
haowei closed D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 29 2020, 3:05 PM · Restricted Project

Dec 22 2020

haowei added a comment to D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.

--preserve-dates in this utility is different from --preserve-dates in GNU/LLVM objcopy, so I am a bit unsure this is the right name. In llvm-tblgen such an option is called --write-if-changed

Dec 22 2020, 3:29 PM · Restricted Project
haowei updated the diff for D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 22 2020, 3:27 PM · Restricted Project

Dec 21 2020

haowei added inline comments to D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 21 2020, 11:34 AM · Restricted Project
haowei updated the diff for D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 21 2020, 11:30 AM · Restricted Project

Dec 18 2020

haowei added inline comments to D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 18 2020, 9:52 PM · Restricted Project
haowei updated the diff for D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 18 2020, 9:51 PM · Restricted Project

Dec 17 2020

haowei updated the diff for D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 17 2020, 4:19 PM · Restricted Project
haowei added a comment to D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.

What others said - there are six cases we should care about:

  1. Section headers are stripped and the ELF has no hash/gnu_hash dynamic tag - this can be treated as an error, I think since the ELF gABI requires a hash table.
  2. Section headers are stripped, but there is a DT_HASH
  3. Section headers are stripped, but there is a DT_GNU_HASH
  4. Section headers present but there is no .hash or .gnu.hash section - this might be treated as an error, I think since the ELF gABI requires a hash table.
  5. Section headers present with .hash section
  6. Section headers present with .gnu.hash section

I think all of the tools should handle all of these situations (llvm-readelf, llvm-objdump, llvm-elfabi, ...) so it definitely seems like this should be part of the Object library.

Dec 17 2020, 3:51 PM · Restricted Project
haowei updated the diff for D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Dec 17 2020, 3:26 PM · Restricted Project

Dec 16 2020

haowei committed rG8a3c41be94ca: [IR] Fixed the typo in attributes test (authored by gulfem).
[IR] Fixed the typo in attributes test
Dec 16 2020, 3:07 PM
haowei closed D93420: [IR] Fixed the typo in attributes test.
Dec 16 2020, 3:07 PM · Restricted Project

Dec 15 2020

haowei requested review of D93362: [llvm-elfabi] Support ELF file that lacks .gnu.hash section.
Dec 15 2020, 8:33 PM · Restricted Project

Dec 14 2020

haowei added inline comments to D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 14 2020, 6:42 PM · Restricted Project
haowei updated the diff for D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 14 2020, 6:13 PM · Restricted Project
haowei updated the diff for D92902: [llvm-elfabi] Add flag to keep timestamp when output is the same.
Dec 14 2020, 6:11 PM · Restricted Project
haowei committed rG7c0e3a77bc43: [clang][IR] Add support for leaf attribute (authored by gulfem).
[clang][IR] Add support for leaf attribute
Dec 14 2020, 2:49 PM