Page MenuHomePhabricator

emaste (Ed Maste)
User

Projects

User Details

User Since
Jul 24 2013, 5:36 AM (325 w, 5 d)

Recent Activity

Fri, Oct 18

emaste accepted D69174: Refine check for `_LIBCPP_C_HAS_NO_GETS` on FreeBSD.
Fri, Oct 18, 12:59 PM · Restricted Project
emaste accepted D69174: Refine check for `_LIBCPP_C_HAS_NO_GETS` on FreeBSD.

OK with me

Fri, Oct 18, 11:25 AM · Restricted Project

Wed, Oct 2

emaste added a comment to D68269: [libc++abi] Do not define new/delete by default.

For reference libcxxrt comes from here: https://github.com/libcxxrt/libcxxrt

Wed, Oct 2, 6:21 PM · Restricted Project

Fri, Sep 27

emaste updated subscribers of D66870: [Sanitizers] Add support for RISC-V 64-bit.
Fri, Sep 27, 8:56 AM · Restricted Project, Restricted Project

Tue, Sep 24

emaste added a comment to D60748: Fix i386 struct and union parameter alignment.
In D60748#1499756, @dim wrote:

Please also exclude FreeBSD from these changes, since we care a lot about backwards compatibility, and specifically about alignment requirements. (We have run into many issues in our ports collection where upstream assumes everything is 16-byte aligned on i386, which is *NOT* ABI compliant.)

Tue, Sep 24, 11:42 AM · Restricted Project
emaste updated subscribers of D60748: Fix i386 struct and union parameter alignment.
Tue, Sep 24, 11:37 AM · Restricted Project

Sep 9 2019

emaste committed rG1a3dd638c4a9: compiler-rt: use fp_t instead of long double, for consistency (authored by emaste).
compiler-rt: use fp_t instead of long double, for consistency
Sep 9 2019, 6:52 AM
emaste committed rL371400: compiler-rt: use fp_t instead of long double, for consistency.
compiler-rt: use fp_t instead of long double, for consistency
Sep 9 2019, 6:50 AM
emaste closed D35034: compiler-rt: use fp_t instead of long double, for consistency.
Sep 9 2019, 6:49 AM · Restricted Project
emaste accepted D46518: LLDB - Simplify GetProgramFileSpec.

This is fine with me as a little simplification and avoid an extra syscall.

Sep 9 2019, 6:29 AM · Restricted Project
Herald added a project to D46518: LLDB - Simplify GetProgramFileSpec: Restricted Project.

From sysctl_kern_proc_pathname:

error = vn_fullpath(req->td, vp, &retbuf, &freebuf);
vrele(vp);
if (error)
        return (error);
error = SYSCTL_OUT(req, retbuf, strlen(retbuf) + 1);

and in vn_fullpath:

buf = malloc(MAXPATHLEN, M_TEMP, M_WAITOK);
Sep 9 2019, 6:29 AM · Restricted Project

Sep 7 2019

emaste added inline comments to D56398: Add new EINTEGRITY errno.
Sep 7 2019, 6:06 AM
emaste added a comment to D67316: Remove ::gets for FreeBSD 13 and later.

LGTM from the FreeBSD perspective.

Sep 7 2019, 5:36 AM · Restricted Project

Sep 3 2019

emaste added a comment to D46791: Make -gsplit-dwarf generally available.

Ping

Sep 3 2019, 11:08 AM
emaste accepted D52812: Change the warning message for -warn-ifunc-textrel..
Sep 3 2019, 11:06 AM · Restricted Project
emaste updated the diff for D35034: compiler-rt: use fp_t instead of long double, for consistency.
  • rebase
  • also change __addtf3 return type
Sep 3 2019, 11:06 AM · Restricted Project
emaste added inline comments to D35034: compiler-rt: use fp_t instead of long double, for consistency.
Sep 3 2019, 11:06 AM · Restricted Project
emaste committed rG5289bbe4d4c7: ld.lld.1: explain long options may use one or two dashes (authored by emaste).
ld.lld.1: explain long options may use one or two dashes
Sep 3 2019, 11:00 AM
emaste committed rG174e08334541: ld.lld.1: stylistic changes suggested by igor (authored by emaste).
ld.lld.1: stylistic changes suggested by igor
Sep 3 2019, 10:59 AM
emaste committed rL370800: ld.lld.1: explain long options may use one or two dashes.
ld.lld.1: explain long options may use one or two dashes
Sep 3 2019, 10:58 AM
emaste committed rL370799: ld.lld.1: stylistic changes suggested by igor.
ld.lld.1: stylistic changes suggested by igor
Sep 3 2019, 10:57 AM
emaste committed rGdfde7b09c830: clang: default to DWARF 4 for FreeBSD 12.0 and later (authored by emaste).
clang: default to DWARF 4 for FreeBSD 12.0 and later
Sep 3 2019, 9:30 AM
emaste committed rL370779: clang: default to DWARF 4 for FreeBSD 12.0 and later.
clang: default to DWARF 4 for FreeBSD 12.0 and later
Sep 3 2019, 9:29 AM
emaste closed D66760: clang: default to DWARF 4 for FreeBSD 12.0 and later.
Sep 3 2019, 9:29 AM · Restricted Project
emaste updated the diff for D66760: clang: default to DWARF 4 for FreeBSD 12.0 and later.

Correct typo, update tests

Sep 3 2019, 8:12 AM · Restricted Project
emaste added inline comments to D66760: clang: default to DWARF 4 for FreeBSD 12.0 and later.
Sep 3 2019, 8:12 AM · Restricted Project
emaste committed rG1b6ee802c66a: compiler-rt: use 64-bit time_t for all FreeBSD archs except i386 (authored by emaste).
compiler-rt: use 64-bit time_t for all FreeBSD archs except i386
Sep 3 2019, 6:54 AM
emaste committed rL370756: compiler-rt: use 64-bit time_t for all FreeBSD archs except i386.
compiler-rt: use 64-bit time_t for all FreeBSD archs except i386
Sep 3 2019, 6:43 AM
emaste closed D66758: compiler-rt: all FreeBSD CPU archs except i386 use 64-bit time_t.
Sep 3 2019, 6:43 AM · Restricted Project
emaste committed rG14cf2b20ca6d: compiler-rt: use more __sanitizer_time_t on FreeBSD (authored by emaste).
compiler-rt: use more __sanitizer_time_t on FreeBSD
Sep 3 2019, 6:43 AM
emaste committed rL370755: compiler-rt: use more __sanitizer_time_t on FreeBSD.
compiler-rt: use more __sanitizer_time_t on FreeBSD
Sep 3 2019, 6:40 AM
emaste closed D66756: compiler-rt: use more __sanitizer_time_t on FreeBSD.
Sep 3 2019, 6:40 AM · Restricted Project

Aug 29 2019

emaste added a comment to D66756: compiler-rt: use more __sanitizer_time_t on FreeBSD.

It turns out __LP64__ is wrong anyway, see D66758, so I intend to commit this first with no functional change and then follow up with D66758.

Aug 29 2019, 5:21 AM · Restricted Project

Aug 26 2019

emaste added a comment to D66760: clang: default to DWARF 4 for FreeBSD 12.0 and later.

FreeBSD references:
https://reviews.freebsd.org/D17930
https://reviews.freebsd.org/rS343429

Aug 26 2019, 11:21 AM · Restricted Project
emaste created D66760: clang: default to DWARF 4 for FreeBSD 12.0 and later.
Aug 26 2019, 11:03 AM · Restricted Project
emaste created D66758: compiler-rt: all FreeBSD CPU archs except i386 use 64-bit time_t.
Aug 26 2019, 10:56 AM · Restricted Project
emaste created D66756: compiler-rt: use more __sanitizer_time_t on FreeBSD.
Aug 26 2019, 10:37 AM · Restricted Project

Aug 14 2019

emaste added a comment to D14700: [mips][freebsd] Explicitly select PC-relative Personality and LSDA encodings..

And moved to CodeGen in rL339397

Aug 14 2019, 7:16 AM
emaste added a comment to D14700: [mips][freebsd] Explicitly select PC-relative Personality and LSDA encodings..

@brooks @arichardson is this something we want to revisit?

Aug 14 2019, 7:08 AM

Jul 30 2019

emaste added a comment to D65430: Add `--dependency-files` option, which is equivalent to compiler option -MD..

My understanding is that many developers use makefile/ninja generation systems such as cmake rather than hand-write the file themselves. As such would this get much use unless it was integrated into these generators? May be worth approaching them to see if they have any requirements/observations about the option?

Jul 30 2019, 6:45 AM · Restricted Project

Jul 29 2019

Herald updated subscribers of D49754: Add -m(no-)spe, and e500 CPU definitions and support to clang.
Jul 29 2019, 12:40 PM · Restricted Project, Restricted Project

Jul 23 2019

emaste updated subscribers of D14700: [mips][freebsd] Explicitly select PC-relative Personality and LSDA encodings..

@brooks @arichardson is this something we want to revisit?

Jul 23 2019, 1:50 PM
emaste added a comment to D7104: On FreeBSD MIPS claim and pass down the -G# argument if present when linking..

OK, I will try to check if it still applies cleanly and commit soon

Jul 23 2019, 7:23 AM

Jul 22 2019

emaste added a comment to D7104: On FreeBSD MIPS claim and pass down the -G# argument if present when linking..

@brooks, @arichardson do we still want to pursue this?

Jul 22 2019, 2:18 PM

Jun 4 2019

emaste added a comment to D62853: Read .note.gnu.property sections and emit a merged .note.gnu.property section..

I've created D62862 which is independent of X86/AArch64.

Jun 4 2019, 9:40 AM · Restricted Project

May 27 2019

emaste added inline comments to D57795: [RISCV] Add FreeBSD targets.
May 27 2019, 6:47 AM · Restricted Project, Restricted Project

May 7 2019

emaste added inline comments to D61613: [LLD][ELF] Add the -z ifunc-noplt option.
May 7 2019, 7:18 AM · Restricted Project

Apr 24 2019

Herald added a project to D50294: [Driver] Use -gdwarf-3 by default for FreeBSD: Restricted Project.

I'm using this change: https://github.com/emaste/freebsd/commit/1c3deab6d518feb1a7e88de5b342a139e4022a21

In FreeBSD 12 and later we use Clang, lld, and ELF Tool Chain. (We still have gas and objdump from the outdated binutils 2.17.50.)

Will you upstream this commit (I can abandon this one)? I created this revision because I was learning clangDriver... I had a vague and probably incorrect impression that some folks said kgdb or dtrace or whatever might not support DWARF 3 or 4.

Apr 24 2019, 1:09 PM · Restricted Project

Apr 15 2019

emaste added a comment to D60439: [llvm-objcopy] Accept --long-option but not -long-option.

LGTM. I much prefer only - short and -- long options, except for lld where unfortunately there's a precedent of accepting both.

Apr 15 2019, 7:00 AM · Restricted Project

Mar 18 2019

emaste added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

We are using a special CET SDV for CET enabling. We have been enabling CET in Fedora piece by piece by adding -fcf-protection to CFLAGS.

Mar 18 2019, 12:19 PM · Restricted Project, lld
emaste added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

H.J. have enable the CET in GNU-toolchain and rebuild/rewrite the related libs/linux-kernal, his team are testing it for at last one year.

Mar 18 2019, 6:29 AM · Restricted Project, lld

Mar 7 2019

emaste added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

@xiangzhangllvm, a question for you not directly related to the patch but I suspect you might be best suited to find an answer: how do we test CET support today? We started trying to add CET to FreeBSD some time ago but have no way to test any work that we do.

Mar 7 2019, 10:28 AM · Restricted Project, lld
emaste added a comment to D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD.

How does lld handle the non-executable stack flag? From a developer point of view, the CET processing is supposed to be very similar.

Mar 7 2019, 10:25 AM · Restricted Project, lld

Feb 21 2019

Herald added a project to D56586: [PPC64] Update LocalEntry from assigned symbols: Restricted Project.

@dim

Feb 21 2019, 11:43 AM · Restricted Project

Feb 7 2019

emaste added a comment to D57371: ELF: Allow GOT relocs pointing to non-preemptable ifunc to resolve to an IRELATIVE where possible..

Ed,

Did -z ifunc-noplt work well for FreeBSD kernel? If it works well, maybe we should merge it to the mainline lld tree?

Feb 7 2019, 5:44 PM · Restricted Project
emaste updated subscribers of D57371: ELF: Allow GOT relocs pointing to non-preemptable ifunc to resolve to an IRELATIVE where possible..
Feb 7 2019, 5:40 PM · Restricted Project

Feb 6 2019

emaste committed rGe9932c103b6f: Correct "varaible" typo in comment (authored by emaste).
Correct "varaible" typo in comment
Feb 6 2019, 12:36 PM
emaste committed rLLD353340: Correct "varaible" typo in comment.
Correct "varaible" typo in comment
Feb 6 2019, 12:35 PM
emaste committed rL353340: Correct "varaible" typo in comment.
Correct "varaible" typo in comment
Feb 6 2019, 12:35 PM

Feb 5 2019

emaste added a comment to D57749: [LLD][ELF] - Set DF_STATIC_TLS flag for i386 target..

The description is certainly not right. IE can be used from dlopen'd objects without problems as long as there is still reserved space around and the data is not initialized non-trivially or the dynamic linker is willing to fix up all threads. The point of the flag is to allow the dynamic linker to make a quick decision without having to scan the relocation table first. A classic user of this was libGL. It also applies to many platforms, not just i386. As such, please update the description before any commit.

Feb 5 2019, 12:10 PM · Restricted Project

Feb 4 2019

emaste added a comment to D33041: [ELF] - Set DF_STATIC_TLS flag for x86_64 target..

FreeBSD patch adding initial exec TLS mode for dynamically loaded shared objects: https://reviews.freebsd.org/D19072. Can we revisit this lld patch?

I'll take a look tomorrow.

Feb 4 2019, 9:08 AM

Feb 3 2019

Herald added a reviewer for D33041: [ELF] - Set DF_STATIC_TLS flag for x86_64 target.: espindola.

FreeBSD patch adding initial exec TLS mode for dynamically loaded shared objects: https://reviews.freebsd.org/D19072. Can we revisit this lld patch?

Feb 3 2019, 2:16 PM

Jan 7 2019

emaste added a comment to D56215: [lld] [ELF] Include default search paths for NetBSD driver.

There is a list of 140-150 unsafe (LLD_UNSAFE) packages with LLD.

Jan 7 2019, 12:37 PM · lld

Dec 21 2018

emaste added a comment to D55878: [Driver] Use --hash-style=gnu instead of both on FreeBSD.

I think the arch-change (switching from a whitelist to a MIPS blacklist) is reasonable. What is the motivation for dropping DT_HASH, just binary size reduction?

Dec 21 2018, 7:11 AM · Restricted Project

Dec 18 2018

emaste committed rL349595: Add llvm-objdump man page.
Add llvm-objdump man page
Dec 18 2018, 5:30 PM
emaste closed D54864: Introduce llvm-objdump man page.
Dec 18 2018, 5:30 PM

Dec 6 2018

emaste added a comment to D54864: Introduce llvm-objdump man page.

Can I go ahead with this version as a starting point?

Dec 6 2018, 11:12 AM

Dec 3 2018

emaste updated the diff for D54864: Introduce llvm-objdump man page.
  • fix warnings from mandoc -Tlint and/or igor
  • remove options that should not be listed
Dec 3 2018, 6:24 AM

Nov 27 2018

emaste added a comment to D54985: [ELF] Keep empty In.RelaIplt so that __rela_iplt_{start,end} have valid st_shndx.

This is fine for me (from FreeBSD's perspective), but I suspect some people (on operating systems without ifuncs in libc) may be surprised by having a(n empty) .rela.plt in all of their statically linked binaries.

Nov 27 2018, 6:26 PM · Restricted Project
emaste added a comment to D54864: Introduce llvm-objdump man page.

I have an interim copy in FreeBSD and am updating it based on the feedback here; I'll update this review shortly.

Nov 27 2018, 5:56 AM

Nov 26 2018

emaste added a comment to D54864: Introduce llvm-objdump man page.

Additional comment that wasn't submitted while reviews.llvm.org was down on Friday: I started working on this as it's needed for us to switch from GNU objdump to llvm-objdump in FreeBSD (FreeBSD PR229046).

Nov 26 2018, 7:32 AM
emaste added inline comments to D54864: Introduce llvm-objdump man page.
Nov 26 2018, 6:50 AM
emaste updated the diff for D54864: Introduce llvm-objdump man page.

Review feedback

Nov 26 2018, 6:50 AM

Nov 25 2018

emaste added a comment to D48069: [cmake] Disable a GCC optimization when building LLVM for MIPS.

I think this is reasonable.

Nov 25 2018, 7:34 AM · Restricted Project
emaste added a comment to D40147: [MIPS] Handle cross-mode (regular <-> microMIPS) jumps.

Perhaps someone else can review?

Nov 25 2018, 7:33 AM · Restricted Project, lld

Nov 24 2018

emaste added a comment to D54864: Introduce llvm-objdump man page.

lgtm, but seems that some hidden/alias options are not listed here (I could help add them). I am not expert in this area, so I will leave the decision to @kristina

Nov 24 2018, 10:24 AM

Nov 23 2018

emaste updated subscribers of D54864: Introduce llvm-objdump man page.
Nov 23 2018, 7:29 AM
emaste created D54864: Introduce llvm-objdump man page.
Nov 23 2018, 7:28 AM

Nov 22 2018

emaste added inline comments to D54577: [ELF] - Implement -z nodefaultlib.
Nov 22 2018, 4:06 PM

Nov 21 2018

emaste accepted D54782: [ELF] Write IPLT header in -static -z retpolineplt mode.
Nov 21 2018, 9:40 AM
emaste accepted D54782: [ELF] Write IPLT header in -static -z retpolineplt mode.

Confirmed this fixes my bug.

Nov 21 2018, 6:24 AM

Nov 20 2018

emaste updated subscribers of D54604: Automatic variable initialization.
Nov 20 2018, 1:31 PM · Restricted Project

Oct 15 2018

emaste added inline comments to D28791: [compiler-rt][crt] Simple crtbegin and crtend implementation.
Oct 15 2018, 3:29 PM · Restricted Project, Restricted Project
emaste updated subscribers of D28791: [compiler-rt][crt] Simple crtbegin and crtend implementation.
Oct 15 2018, 8:22 AM · Restricted Project, Restricted Project

Oct 14 2018

emaste added inline comments to D28791: [compiler-rt][crt] Simple crtbegin and crtend implementation.
Oct 14 2018, 1:52 PM · Restricted Project, Restricted Project

Oct 10 2018

emaste accepted D52830: [ELF] - Set sh_info and sh_link for .rela.plt sections..
Oct 10 2018, 3:14 PM

Oct 9 2018

emaste committed rL344100: clang: Allow ifunc resolvers to accept arguments.
clang: Allow ifunc resolvers to accept arguments
Oct 9 2018, 5:37 PM
emaste committed rC344100: clang: Allow ifunc resolvers to accept arguments.
clang: Allow ifunc resolvers to accept arguments
Oct 9 2018, 5:37 PM
emaste closed D52703: Allow ifunc resolvers to accept arguments.
Oct 9 2018, 5:37 PM
emaste added a comment to rL325887: [ELF] - Do not remove empty output sections that are explicitly assigned to….

I think that the inconsistency of linkers behavior shown above shows that LLD behavior is not incorrect. It is different. But we never tried to be fully bug compatible with bfd/gold. First of all the problem is caused by a weak assumption in the linker script, which assumes that orphans are placed at the particular place before the assignment command, and my feeling it should be fixed.

Oct 9 2018, 10:24 AM
emaste added a comment to D52830: [ELF] - Set sh_info and sh_link for .rela.plt sections..

I backported the change to lld 6.0 currently in FreeBSD-HEAD and it has the expected behaviour, but for my test case I think sh_info should reference .got.plt not .plt - note the address marked with ######## below.

Oct 9 2018, 8:55 AM
emaste added a comment to D52830: [ELF] - Set sh_info and sh_link for .rela.plt sections..

This change looks good to me; testing it out in the FreeBSD tree now.

Oct 9 2018, 7:59 AM
emaste added a comment to D52830: [ELF] - Set sh_info and sh_link for .rela.plt sections..

This change LGTM.

Oct 9 2018, 7:52 AM

Oct 5 2018

emaste added a comment to D52908: [LLD] [docs] Mention some notable feature in the release notes.

Looks good to me

Oct 5 2018, 6:09 AM

Oct 4 2018

emaste committed rLLD343820: ReleaseNotes: remove superfluous 's' in 'can promotes'.
ReleaseNotes: remove superfluous 's' in 'can promotes'
Oct 4 2018, 2:41 PM
emaste committed rL343820: ReleaseNotes: remove superfluous 's' in 'can promotes'.
ReleaseNotes: remove superfluous 's' in 'can promotes'
Oct 4 2018, 2:41 PM

Oct 3 2018

emaste added a comment to D52830: [ELF] - Set sh_info and sh_link for .rela.plt sections..

For SHT_REL and SHT_RELA, sh_link references the associated symbol table and sh_info the "section to which the relocation applies."

Oct 3 2018, 11:43 AM
emaste updated subscribers of D52830: [ELF] - Set sh_info and sh_link for .rela.plt sections..
Oct 3 2018, 7:07 AM

Oct 2 2018

emaste added a comment to D52812: Change the warning message for -warn-ifunc-textrel..

I don't think you can fix the issue by recompiling it without -fPIC

I would think a fix would be compiling with -fPIC.

Oct 2 2018, 5:13 PM · Restricted Project

Oct 1 2018

emaste updated subscribers of D52703: Allow ifunc resolvers to accept arguments.
Oct 1 2018, 6:14 PM