emaste (Ed Maste)
User

Projects

User Details

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

Recent Activity

Sat, Jun 17

emaste accepted D34236: Delete ProcessLauncherPosix.

LGTM from the FreeBSD side. The launch code for FreeBSD came from the original (in-process) implementation that Linux and FreeBSD shared.

Sat, Jun 17, 3:59 AM

Fri, Jun 16

emaste added a comment to D34313: Prefer -Ttext over linker script values.

I like this idea.

Fri, Jun 16, 7:43 PM
emaste added a comment to D34236: Delete ProcessLauncherPosix.

FreeBSD build and test in progress.

Fri, Jun 16, 7:39 PM
emaste added a comment to D34274: Remove home-grown thread-local storage wrappers.

Fine from FreeBSD

Fri, Jun 16, 7:36 PM

Tue, Jun 13

emaste added a comment to D34140: [ELF] Add armelf emulation mode.
In D34140#779285, @ruiu wrote:

This seems fine, but who actually passes "armelf"? Just want to confirm that this is in use.

Tue, Jun 13, 5:42 PM · lld
emaste added a comment to D34140: [ELF] Add armelf emulation mode.

This LGTM, I had hacked something like this locally for my FreeBSD/lld work.

Tue, Jun 13, 11:31 AM · lld

Tue, May 30

emaste added a comment to D32522: Test case for the issue raised in D32271.

Generally LGTM with two questions inline.

Tue, May 30, 6:49 AM

May 25 2017

emaste committed rL303965: FreeBSD ProcessMonitor: map TRAP_CAP to a trace trap.
FreeBSD ProcessMonitor: map TRAP_CAP to a trace trap
May 25 2017, 8:16 PM

May 24 2017

emaste accepted D33516: Add generic __bswap[ds]i2 implementations.

LGTM from my perspective.

May 24 2017, 5:25 PM

May 19 2017

emaste added a comment to D33343: Add some tips on how to benchhmark.

Thanks! I will try to add an equivalent section for FreeBSD shortly after this goes in.

May 19 2017, 11:09 AM
emaste added inline comments to D33343: Add some tips on how to benchhmark.
May 19 2017, 9:46 AM
emaste added a comment to D32271: Patch to Attach pid successfully from different dir.
In D32271#759361, @dim wrote:

As I found out in rL303015, the KERN_PROC_PATHNAME has one drawback: if an executable file has multiple hard links, you will get just one of its filenames as the result. Since that filename is more or less randomly chosen, it does *not* have to correspond to the actual argv[0] the executable was invoked with. If that does not matter, this approach is fine, though.

May 19 2017, 8:08 AM
emaste updated subscribers of D32271: Patch to Attach pid successfully from different dir.
May 19 2017, 5:55 AM
emaste added a comment to D32522: Test case for the issue raised in D32271.

Two small nits noted inline, but now the test does not pass without D32271 and does with it. Note that in the "without" case it returned error rather than failing, perhaps related to the path issue I noted?

May 19 2017, 5:51 AM

May 18 2017

emaste added a comment to D32820: Parallelize demangling.

Without tcmalloc, on Ubuntu 14.04, 40 core VM: 13%
With tcmalloc, on Ubuntu 14.04, 40 core VM: 24% (built using cmake ... -DCMAKE_EXE_LINKER_FLAGS=-ltcmalloc_minimal, which amazingly only works when building with clang, not gcc...)

May 18 2017, 7:56 PM

May 16 2017

emaste added a comment to D33251: [lld][ELF]Add option to make .dynamic read only.

Does it make sense to make it read-only from beginning?

May 16 2017, 2:28 PM · lld

May 10 2017

emaste added a comment to D32175: Add the llvm asan support.

The change looks fine to me from a FreeBSD perspective

May 10 2017, 1:12 PM

Apr 30 2017

emaste requested changes to D32522: Test case for the issue raised in D32271.

This test passes even without the change in D32271, presumably because exe = os.path.join(os.getcwd(), 'newdir/proc_attach') is providing us with an absolute path for argv[0].

Apr 30 2017, 1:01 PM
emaste added inline comments to D32522: Test case for the issue raised in D32271.
Apr 30 2017, 12:36 PM
emaste added a comment to D32271: Patch to Attach pid successfully from different dir.

Test case in D32522

Apr 30 2017, 11:36 AM

Apr 24 2017

emaste added a comment to D32271: Patch to Attach pid successfully from different dir.

I have plan to revisit corresponding files in NetBSD and switch from kvm(3) to sysctl(3). But this is lower priority than Process Plugin right now.

Apr 24 2017, 7:17 AM
emaste added a reviewer for D32418: "target variable" not showing all global variable if we print any global variable before execution starts: zturner.
Apr 24 2017, 6:18 AM

Apr 23 2017

emaste updated subscribers of D32271: Patch to Attach pid successfully from different dir.
Apr 23 2017, 5:44 PM
emaste updated the diff for D32271: Patch to Attach pid successfully from different dir.

Slightly simpler approach after early returns added in rL301100

Apr 23 2017, 5:43 PM
emaste commandeered D32271: Patch to Attach pid successfully from different dir.
Apr 23 2017, 5:41 PM

Apr 22 2017

emaste committed rL301100: Simplify FreeBSD Host.cpp with early returns.
Simplify FreeBSD Host.cpp with early returns
Apr 22 2017, 7:41 PM
emaste added a comment to D32120: Don't test setting sticky bits on files for (Free|Open)BSD.

I don't agree. It would mean that it's supposed to work on BSD4.4 and derivate systems like BSD/OS.

Apr 22 2017, 11:35 AM

Apr 21 2017

emaste added a comment to D32271: Patch to Attach pid successfully from different dir.

Sorry I've been away from LLDB for a bit, I will take a look at this soon.

Apr 21 2017, 7:01 PM
emaste committed rL301067: ThreadSanitizer plugin: match for loop variable with expected type.
ThreadSanitizer plugin: match for loop variable with expected type
Apr 21 2017, 6:51 PM
emaste added a comment to D32125: [LLVM][MIPS] Fix different definition of off_t in LLDB and LLVM.

Is this just GNU specific? BSD moved to 64-bit off_t on 32-bit platforms 20+ years ago.

It's perhaps no-op, but it might be noted in the commit message what platforms are supposed to be improved.

Apr 21 2017, 6:41 PM

Apr 12 2017

emaste added a comment to D31774: [sanitizer] Introduce tid_t as a typedef for OS-provided thread IDs.

As an aside we may want pthread_getthreadid_np() (the user-facing thread ID) on FreeBSD instead of pthread_self() (an opaque pointer), as a separate / later change.

Apr 12 2017, 10:16 AM · Restricted Project
emaste committed rL300062: Fix detection of backtrace() availability on FreeBSD.
Fix detection of backtrace() availability on FreeBSD
Apr 12 2017, 7:03 AM
emaste closed D27143: Fix detection of backtrace() availability on FreeBSD by committing rL300062: Fix detection of backtrace() availability on FreeBSD.
Apr 12 2017, 7:03 AM

Apr 7 2017

emaste committed rL299781: Correct environ parsing on FreeBSD.
Correct environ parsing on FreeBSD
Apr 7 2017, 9:53 AM
emaste added a comment to D31784: Correct environ parsing on NetBSD.

For freebsd/Host.cpp I will also move Host::GetEnvironment near the end of the file (in the same place as linux/Host.cpp).

Apr 7 2017, 9:26 AM · Restricted Project
emaste accepted D31784: Correct environ parsing on NetBSD.
Apr 7 2017, 9:24 AM · Restricted Project

Apr 6 2017

emaste updated subscribers of D30087: [Driver] Unify linking of OpenMP runtime. NFCI..
Apr 6 2017, 10:11 AM

Apr 3 2017

emaste added a comment to D31528: [ELF][MIPS] Multi-GOT implementation.

I compared the tmp objects in the failing and passing case using diffoscope and noticed one unexpected difference, although it does not appear to be root cause of the failure.

Apr 3 2017, 11:46 AM · lld
emaste added a comment to D31528: [ELF][MIPS] Multi-GOT implementation.

Thanks a lot for your help. BTW what tools and libraries do you use to build LLD: Clang (what version?) or gcc, libc++ or libstdc++?

Apr 3 2017, 9:13 AM · lld
emaste added a comment to D31557: [mips][ias] Enable IAS by default for OpenBSD / FreeBSD mips64/mips64el..

FreeBSD ostensibly supports o32, n32, and n64, so n32 is indeed relevant for us. That said the in-tree toolchain still uses GCC 4.2.1 for MIPS, and the LLVM work is still somewhat forward-looking for us.

Apr 3 2017, 9:09 AM
emaste added a comment to D31528: [ELF][MIPS] Multi-GOT implementation.

One other note, I tried linking the FreeBSD base system on mips64 with this patch applied (since we require mxgot or multigot to be able to link the entirety of the base system), and have a reproducible segfault in lld. A reproducer is at https://people.freebsd.org/~emaste/lld/lld-mips.tar. It seems the crash is reproducible after reverting the patch, so I'll submit a bug for it shortly.

Apr 3 2017, 8:13 AM · lld
emaste updated subscribers of D31557: [mips][ias] Enable IAS by default for OpenBSD / FreeBSD mips64/mips64el..
Apr 3 2017, 7:37 AM

Mar 31 2017

emaste added a comment to D31528: [ELF][MIPS] Multi-GOT implementation.

Is the error reproduced each time? I just made a clean build with the patch and did not see the error.

Mar 31 2017, 1:53 PM · lld
emaste added a comment to D31528: [ELF][MIPS] Multi-GOT implementation.

I had ELF/mips-got-and-copy.s fail for me with this applied, with .../mips-got-and-copy.s.tmp.o:(.text+0xC): relocation R_MIPS_GOT16 out of range

Mar 31 2017, 10:22 AM · lld

Mar 29 2017

emaste accepted D27143: Fix detection of backtrace() availability on FreeBSD.

FYI I added libexecinfo before FreeBSD 10 so all supported FreeBSD releases have it.

Mar 29 2017, 7:46 AM

Mar 22 2017

emaste added inline comments to D31208: Print out "suppoted targets" and "supported emulations"..
Mar 22 2017, 4:39 PM
emaste added a comment to D31199: Add "(compatible with the GNU linker)" to the -version output..

It was suggested on the libtool mailing list that --with-gnu-ld to configure scripts might override libtool's tool --version string check and forcibly enable the GNU ld code path. I haven't yet tried this and won't be able to for a few days, but will take a look next week if nobody else does first.

Mar 22 2017, 7:48 AM
emaste accepted D31231: Reuse appropriate Launch and Attach on NetBSD.
Mar 22 2017, 7:03 AM · Restricted Project

Mar 21 2017

emaste added inline comments to D31208: Print out "suppoted targets" and "supported emulations"..
Mar 21 2017, 5:14 PM
emaste accepted D31199: Add "(compatible with the GNU linker)" to the -version output..

Although I'd rather not do this, I think it is a necessary workaround.

Mar 21 2017, 4:08 PM
emaste added a comment to D31199: Add "(compatible with the GNU linker)" to the -version output..

I'll follow up to my Jan 2017 libtool list posting about this issue with a link to this review. I hope that we can get some traction, such that this may be a short-term workaround rather than permanent descent into craziness like browser user agents.

Mar 21 2017, 2:03 PM
emaste accepted D31191: Enable ProcessPOSIXLog on NetBSD.
Mar 21 2017, 9:36 AM · Restricted Project

Mar 20 2017

emaste accepted D31132: Add NetBSD case in Entry::Type::ThreadID.
Mar 20 2017, 5:26 PM · Restricted Project

Mar 15 2017

emaste accepted D30986: [ARM] Change tests after fixing branch label for Thumb targets.
Mar 15 2017, 9:48 AM
emaste added a comment to D30986: [ARM] Change tests after fixing branch label for Thumb targets.

We have the disassembly and offset anyway, so perhaps we should just drop the symbol name?

Mar 15 2017, 9:46 AM

Mar 5 2017

emaste added a comment to D30566: [ELF] - Do not try to create .eh_frame_hdr for relocatable output..

IMO if you want to link relocatable output, you should call the linker directly.

Mar 5 2017, 7:14 AM

Mar 4 2017

emaste added a comment to D30566: [ELF] - Do not try to create .eh_frame_hdr for relocatable output..

The FreeBSD components that prompted PR32118 link with this change.

Mar 4 2017, 9:41 AM
emaste added a comment to D30566: [ELF] - Do not try to create .eh_frame_hdr for relocatable output..

A user has explicitly requested two different features that cannot be used together.

Mar 4 2017, 7:00 AM

Mar 2 2017

emaste added a comment to D30500: [ELF] - Do not treat colon(":") as separate token in script parser..

With this change, linking libcxxrt in FreeBSD succeeds.

Mar 2 2017, 6:50 AM
emaste added a comment to D30500: [ELF] - Do not treat colon(":") as separate token in script parser..

extern "C++" { std::foo; } (as opposed to extern "C++" { "std::foo"; })

Mar 2 2017, 5:16 AM

Feb 27 2017

emaste added a comment to D30335: [LLD] Add terminator to .eh_frame sections.

some unwinder implementations

Feb 27 2017, 12:57 PM

Feb 23 2017

emaste accepted D30288: Switch NetBSD from paccept(2) to accept4(2).
Feb 23 2017, 5:11 AM · Restricted Project

Feb 10 2017

emaste accepted D29832: Remove struct_rtentry_sz on FreeBSD.
Feb 10 2017, 3:55 PM

Feb 7 2017

emaste committed rL294340: Synchronize PlatformFreeBSD with Linux.
Synchronize PlatformFreeBSD with Linux
Feb 7 2017, 11:40 AM
emaste closed D29667: Synchronize PlatformFreeBSD with Linux by committing rL294340: Synchronize PlatformFreeBSD with Linux.
Feb 7 2017, 11:40 AM
emaste added a comment to D29666: Synchronize PlatformFreeBSD with Linux.

Err, moved to D29667

Feb 7 2017, 11:06 AM
emaste abandoned D29666: Synchronize PlatformFreeBSD with Linux.

Moved to D29666 to add lldb-commits with initial diff

Feb 7 2017, 11:05 AM
emaste created D29667: Synchronize PlatformFreeBSD with Linux.
Feb 7 2017, 11:05 AM
emaste created D29666: Synchronize PlatformFreeBSD with Linux.
Feb 7 2017, 11:03 AM

Jan 31 2017

emaste added a comment to D29347: Transform ProcessLauncherLinux to ProcessLauncherPosixFork.

@emaste: I'd suggest switching freebsd over to this process launcher as well. I think it's the last user of the ProcessLauncherPosix, and it would enable us to get rid of it.

Jan 31 2017, 7:08 PM · Restricted Project

Jan 26 2017

emaste added a comment to D29032: [mips] Define macros related to -mabicalls in the preprocessor.

My concern is that the stock gcc distributions for FreeBSD, NetBSD from your sources doesn't define __mips_abicalls,

Jan 26 2017, 8:50 AM

Jan 25 2017

emaste added inline comments to D29150: Add --warn-unresolved-symbols and --error-unresolved-symbols options.
Jan 25 2017, 5:52 PM · lld

Jan 24 2017

emaste accepted D29091: Recognize Real-Time Signals on NetBSD.
Jan 24 2017, 11:42 AM · Restricted Project
emaste added a comment to D29032: [mips] Define macros related to -mabicalls in the preprocessor.

As mentioned in D29032

Err, that should be D29024

Jan 24 2017, 7:15 AM
emaste added a comment to D29032: [mips] Define macros related to -mabicalls in the preprocessor.

As mentioned in D29032 I agree with @joerg - __mips_abicalls should always be defined if this is what GCC does.

Jan 24 2017, 7:05 AM
emaste committed rL292937: FreeBSD ARM support for software single step.
FreeBSD ARM support for software single step
Jan 24 2017, 6:46 AM
emaste closed D25756: FreeBSD ARM support for software single step. by committing rL292937: FreeBSD ARM support for software single step.
Jan 24 2017, 6:45 AM · Restricted Project

Jan 23 2017

emaste added inline comments to D29024: [mips] Define macros related to -mabicalls in the preprocessor.
Jan 23 2017, 6:31 AM

Jan 20 2017

emaste abandoned D28085: llvm-objdump: sort phdr strings and add PT_NOTE.

Sorting was committed in rL290494 and PT_LOAD in rL292170.

Jan 20 2017, 12:29 PM
emaste added a comment to D28951: [ELF] - Linkerscripts: ignore CONSTRUCTORS in output section declaration..

FYI the FreeBSD fix for this is here: https://svnweb.freebsd.org/changeset/base/303442

Jan 20 2017, 8:41 AM

Jan 12 2017

emaste added a comment to D28313: Change which input sections we concatenate.

FreeBSD EFI loader build now fails with:

--- all_subdir_sys ---
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name copy.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name devicename.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name main.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name smbios.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name zfs.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name elf64_freebsd.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name trap.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name comconsole.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name boot.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name interp.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name interp_parse.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name module.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name load_elf32.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name load_elf64.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name disk.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name bcache.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name libefi.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name efipart.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name efinet.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: Section has different type from others with the same name efi_console.o:(.bss)
/tank/emaste/obj/tank/emaste/src/freebsd-xlld/tmp/usr/bin/ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [loader.sym.full] Error code 1
Jan 12 2017, 8:40 AM

Jan 11 2017

emaste added a comment to D28570: Limit sincos to Linux.

Not part of this change, but it seems unfortunate that we use isGNUEnvironment or isOSLinux here to determine if sincos is available, but then in lib/Target/ARM/ARMSubtarget.cpp:

bool ARMSubtarget::hasSinCos() const {
  return isTargetWatchOS() ||
    (isTargetIOS() && !getTargetTriple().isOSVersionLT(7, 0));
}

and lib/Target/X86/X86ISelLowering.cpp:

bool X86Subtarget::hasSinCos() const {
  return getTargetTriple().isMacOSX() &&
    !getTargetTriple().isMacOSXVersionLT(10, 9) &&
    is64Bit();
}
Jan 11 2017, 10:29 AM
emaste added inline comments to D28570: Limit sincos to Linux.
Jan 11 2017, 10:17 AM
emaste added a comment to D28560: [Object/ELF] - Allow to parse files with e_shstrndx set to SHN_UNDEF.

I think this LGTM but I'm curious if !Index was just from a misunderstanding, or if @rafael encountered an object with e_shstrndx == 0?

Jan 11 2017, 7:24 AM

Jan 3 2017

emaste added inline comments to D28267: ELF: Round p_memsz of the PT_GNU_RELRO program header up to the page size..
Jan 3 2017, 7:00 PM
emaste abandoned D20791: Support SOURCE_DATE_EPOCH environment variable.

Abandon in favour of D23934

Jan 3 2017, 10:55 AM

Dec 29 2016

emaste added a comment to D23934: Add a -ffixed-date-time= flag that sets the initial value of __DATE__, __TIME__, __TIMESTAMP__.

Please also accept SOURCE_DATE_EPOCH set in the environment -- see https://reproducible-builds.org/specs/source-date-epoch/

Dec 29 2016, 5:30 AM

Dec 24 2016

emaste added a comment to D28085: llvm-objdump: sort phdr strings and add PT_NOTE.
Dec 24 2016, 8:22 AM
emaste committed rL290494: llvm-objdump: sort phdr type strings in advance of adding new ones.
llvm-objdump: sort phdr type strings in advance of adding new ones
Dec 24 2016, 7:04 AM
emaste added a comment to D28085: llvm-objdump: sort phdr strings and add PT_NOTE.

For 2), please add a test and I'll take another look.

Dec 24 2016, 6:29 AM

Dec 23 2016

emaste added a comment to D28082: Drop the dependency on dl_unwind_find_exidx()..

This seems reasonable to me.

Dec 23 2016, 5:29 PM
emaste retitled D28085: llvm-objdump: sort phdr strings and add PT_NOTE from to llvm-objdump: sort phdr strings and add PT_NOTE.
Dec 23 2016, 5:00 PM

Dec 21 2016

emaste added a comment to D27965: Update mailing list post URL.

this is the best I could find:

https://opensource.apple.com/source/libunwind/libunwind-35.3/src/UnwindLevel1-gcc-ext.c

Dec 21 2016, 1:03 PM
emaste committed rL290269: Update mailing list post URL and add libunwind reference.
Update mailing list post URL and add libunwind reference
Dec 21 2016, 1:02 PM
emaste closed D27965: Update mailing list post URL by committing rL290269: Update mailing list post URL and add libunwind reference.
Dec 21 2016, 1:02 PM
emaste added a comment to D27965: Update mailing list post URL.

It looks to me like you are probably correct about the intended mailing list post, but it's still not particularly helpful. It would be nice to have a reference to a primary source, but this is the best I could find:

https://opensource.apple.com/source/libunwind/libunwind-35.3/src/UnwindLevel1-gcc-ext.c

Dec 21 2016, 12:55 PM

Dec 20 2016

emaste added a comment to D27988: [LLD] Combine read-only and writable input sections into single output section.

Our messages crossed paths. There are tests that use separate input files which are in the Inputs/ directory.

Dec 20 2016, 7:34 AM
emaste added a comment to D27988: [LLD] Combine read-only and writable input sections into single output section.

This needs a test case.

Dec 20 2016, 7:30 AM

Dec 19 2016

emaste retitled D27965: Update mailing list post URL from to Update mailing list post URL.
Dec 19 2016, 6:39 PM

Dec 13 2016

emaste added a comment to D27716: [ELF] - Implemented --retain-symbols-file option.

How do we handle combinations of related options?

Dec 13 2016, 9:30 AM