emaste (Ed Maste)
User

Projects

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

Recent Activity

Thu, Feb 23

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

Fri, Feb 10

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

Tue, Feb 7

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

Err, moved to D29667

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

Moved to D29666 to add lldb-commits with initial diff

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

Tue, Jan 31

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.

Tue, Jan 31, 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

Dec 2 2016

emaste added a comment to D27341: [ELF] - Change the way how we compute offsets for binary output..

I'm testing this patch (as part of applying D27340), and have sucessfully booted a VM using pmbr linked by it.

Dec 2 2016, 6:57 AM

Dec 1 2016

emaste added inline comments to D27303: [ELF] - Implemented R_386_16 and R_386PC16 relocations.
Dec 1 2016, 12:43 PM
emaste added inline comments to D27303: [ELF] - Implemented R_386_16 and R_386PC16 relocations.
Dec 1 2016, 10:54 AM

Nov 30 2016

emaste added inline comments to D27200: [ELF] - Do not create 4gb output when -obinary -Ttext and -omagic used together. .
Nov 30 2016, 2:00 PM
emaste added a comment to D27126: Merge Linux and FreeBSD arm register contexts.

I can run tests on 32bit ARM FreeBSD 11.RC3 rpi2, but without software single step not a lot of tests pass on ARM FreeBSD ;)
Can we get D25756 committed?

I'll leave that decision up to Ed.
I am not particularly fond of copying code around, but I do see the value of having some freebsd arm support instead of none.

Nov 30 2016, 12:44 PM
emaste added inline comments to D25756: FreeBSD ARM support for software single step..
Nov 30 2016, 12:41 PM · Restricted Project

Nov 29 2016

emaste added a comment to D27200: [ELF] - Do not create 4gb output when -obinary -Ttext and -omagic used together. .

For me at least this approach (avoiding adding an empty PT_LOAD) seems to be nicer than D27201, although I find the ternary operator and different condition on the following line somewhat puzzling. I'm curious what @ruiu or @rafael think.

Nov 29 2016, 6:55 AM
emaste added inline comments to D27201: [ELF] - Do not create 4gb output when -obinary -Ttext and -omagic used together. (variant 2).
Nov 29 2016, 6:46 AM
emaste added inline comments to D27201: [ELF] - Do not create 4gb output when -obinary -Ttext and -omagic used together. (variant 2).
Nov 29 2016, 6:44 AM

Nov 28 2016

emaste added a comment to D26888: [ELF] - Implemented -N (-omagic).

Also see PR 31196 for a bug found while testing this patch.

Nov 28 2016, 4:04 PM
emaste accepted D26888: [ELF] - Implemented -N (-omagic).

This gives me a working hello world and reasonable looking phdr:

% cat hello_data.c
#include <stdio.h>
Nov 28 2016, 3:59 PM
emaste added a comment to D26888: [ELF] - Implemented -N (-omagic).

I'm testing now

Nov 28 2016, 1:58 PM
emaste added a comment to D26888: [ELF] - Implemented -N (-omagic).

Please update the commit message to say that you are implementing --omagic (I don't remember what -N is, and I guess that's true for most people.)

Nov 28 2016, 10:49 AM
emaste added a comment to D26888: [ELF] - Implemented -N (-omagic).

Minor clarification: my comments above are more background on how & why we use -N in FreeBSD, not an example of anything wrong with the patch.

Nov 28 2016, 10:43 AM
emaste added a comment to D26888: [ELF] - Implemented -N (-omagic).

Also, the actual boot0 (mbr) Makefile and source is here, if a concrete example is useful: https://svnweb.freebsd.org/base/head/sys/boot/i386/boot0/

Nov 28 2016, 7:25 AM
emaste added a comment to D26888: [ELF] - Implemented -N (-omagic).

-N changes a few things:

  1. Makes the text and data sections readable and writeable.
  2. Does not page align data.
  3. Uses the OMAGIC magic number, if applicable to the output format.
Nov 28 2016, 7:11 AM
emaste added inline comments to D27158: Use relocations to fill statically known got entries.
Nov 28 2016, 6:37 AM

Nov 25 2016

emaste updated subscribers of D27126: Merge Linux and FreeBSD arm register contexts.

I think @dmikulin might be able to test this

Nov 25 2016, 8:31 AM
emaste added inline comments to D27131: [ELF] - Add support of proccessing of the rest allocatable synthetic sections from linkerscript..
Nov 25 2016, 8:21 AM

Nov 24 2016

emaste added a comment to D25947: Merge Linux and FreeBSD arm64 register contexts.

Ed, if I may suggest, while you are playing with the arm machine, could you grab us a core file or two? It'd be great to be able to do a basic sanity check on these things without physical access.

Nov 24 2016, 9:55 AM
emaste added a comment to D25947: Merge Linux and FreeBSD arm64 register contexts.

The tests are not in great shape on FreeBSD/arm64 today, but look roughly equivalent with and without this patch.

Nov 24 2016, 9:49 AM

Nov 23 2016

emaste committed rL287782: lld: Default image base address to 0x200000 on x86-64.
lld: Default image base address to 0x200000 on x86-64
Nov 23 2016, 9:54 AM
emaste closed D27042: lld: Default image base address to 0x200000 on x86-64 by committing rL287782: lld: Default image base address to 0x200000 on x86-64.
Nov 23 2016, 9:54 AM
emaste updated the diff for D27042: lld: Default image base address to 0x200000 on x86-64.
  • Rebase after rL287778 {{.*}}
  • Incorporate review feedback and update a few missed address comments
Nov 23 2016, 9:42 AM
emaste added inline comments to D27042: lld: Default image base address to 0x200000 on x86-64.
Nov 23 2016, 9:39 AM
emaste committed rL287778: Replace test instruction byte strings with {{.*}}.
Replace test instruction byte strings with {{.*}}
Nov 23 2016, 9:19 AM
emaste closed D27056: Replace test instruction byte strings with {{.*}} by committing rL287778: Replace test instruction byte strings with {{.*}}.
Nov 23 2016, 9:19 AM
emaste retitled D27056: Replace test instruction byte strings with {{.*}} from to Replace test instruction byte strings with {{.*}}.
Nov 23 2016, 8:55 AM
emaste added inline comments to D27042: lld: Default image base address to 0x200000 on x86-64.
Nov 23 2016, 7:51 AM
emaste updated the diff for D27042: lld: Default image base address to 0x200000 on x86-64.

Apply to x86-64

Nov 23 2016, 7:44 AM
emaste added a comment to D27042: lld: Default image base address to 0x200000 on x86-64.

Oops, I applied the change to x86, not x86-64. Will add new patch shortly.

Nov 23 2016, 7:06 AM
emaste added inline comments to D27042: lld: Default image base address to 0x200000 on x86-64.
Nov 23 2016, 7:04 AM
emaste updated the diff for D27042: lld: Default image base address to 0x200000 on x86-64.

Incorporate feedback from Rafael:

  • Use 2MB instead of 4MB
  • Apply only to x86-64 for now
Nov 23 2016, 7:03 AM
emaste retitled D27042: lld: Default image base address to 0x200000 on x86-64 from to lld: Default image base address to 0x400000.
Nov 23 2016, 6:17 AM

Nov 22 2016

emaste added inline comments to D26981: Limit maximum number of errors to 1000..
Nov 22 2016, 10:59 AM

Nov 21 2016

emaste committed rL287609: Turn on LLDB_EDITLINE_USE_WCHAR on FreeBSD.
Turn on LLDB_EDITLINE_USE_WCHAR on FreeBSD
Nov 21 2016, 6:35 PM
emaste added a comment to D24987: [ELF] Use MaxPageSize for aligning PT_LOAD.

The FreeBSD kernel build breakage after this change is tracked in http://llvm.org/pr30891.

Nov 21 2016, 1:19 PM · lld
emaste added inline comments to D26919: Update document. It is not an overstatement that LLD is 2x faster than gold..
Nov 21 2016, 11:22 AM

Nov 18 2016

emaste added a comment to D26865: [ELF] - exit on --version call.

Seems it's a difference in behaviour between -v and --version. AFAICT for -v both ld.bfd and ld.gold print a one-line version number and carry on with the link if there are args (or exit with 0 if not). For --version they print a multi-line version & This program is free software info, and do not link.

Nov 18 2016, 1:09 PM

Nov 17 2016

emaste updated subscribers of D26801: Allow use define symbols to override linker defined ones.

Was the MIPS duplicate _gp issue entirely a false error now fixed by this change?

Nov 17 2016, 7:59 AM

Nov 16 2016

emaste added inline comments to D26738: [ELF] - Improve diagnostic messages..
Nov 16 2016, 9:51 AM
emaste accepted D26738: [ELF] - Improve diagnostic messages..

LGTM to me as well, without "previously" as Rafael said. I'm very happy to see these improvements in diagnostic messages.

Nov 16 2016, 8:20 AM

Nov 15 2016

emaste added a comment to D25947: Merge Linux and FreeBSD arm64 register contexts.

Ed, what do you think about this one? Is there anyone with a FreeBSD arm64 setup that could verify this?

Nov 15 2016, 3:01 PM

Nov 14 2016

emaste added a comment to D26161: '.' is not absolute.

This change was committed in rL285641

Nov 14 2016, 8:43 PM
emaste added a comment to D26300: ELF core: Adding parsing of the floating-point and SSE registers on x86 32/64 bit elf core files.

I applied this change on top of my WIP D26617 (which adds a FreeBSD core test). LLDB builds and my new test passes, so no objections from me. Once it's in I'll see about porting the new SSE test to FreeBSD too.

Nov 14 2016, 2:05 PM
emaste added inline comments to D26617: add FreeBSD elf-core test.
Nov 14 2016, 9:50 AM
emaste retitled D26617: add FreeBSD elf-core test from to add FreeBSD elf-core test.
Nov 14 2016, 9:42 AM

Nov 11 2016

emaste added a comment to D25587: Introduce llvm FormatVariadic.

Hopefully fixed in r286691

Nov 11 2016, 5:47 PM
emaste added a comment to D25587: Introduce llvm FormatVariadic.

FreeBSD build is failing:

Nov 11 2016, 4:37 PM

Nov 10 2016

emaste added a comment to D26508: [ELF] - Better diagnostic for relative relocation to an absolute value error..

Also out of curiosity, which port produced this?

Nov 10 2016, 1:36 PM

Nov 7 2016

emaste added a comment to D26130: [ELF] - Implemented --symbol-ordering-file option..

If lld mislinks firefox, we shouldn't silently ignore it and try to link with gold, but open a bug instead (and/or try to fix).

Nov 7 2016, 7:14 AM

Nov 5 2016

emaste committed rL286035: make-core.sh: add FreeBSD support.
make-core.sh: add FreeBSD support
Nov 5 2016, 7:54 AM
emaste closed D26315: make-core.sh: add FreeBSD support by committing rL286035: make-core.sh: add FreeBSD support.
Nov 5 2016, 7:54 AM

Nov 4 2016

emaste added a comment to D26300: ELF core: Adding parsing of the floating-point and SSE registers on x86 32/64 bit elf core files.

Good point. D26315 has the change to add FreeBSD support to make-core.sh -- just avoiding /bin/bash, and the core file handler check.

Nov 4 2016, 4:22 PM
emaste added a comment to D26315: make-core.sh: add FreeBSD support.

Output on FreeBSD, with the patch:

% sh make-core.sh main.c
+ file=main.c
+ [ -z main.c ]
+ [ FreeBSD '=' Linux ]
+ ulimit -c 1000
+ ulimit -c
+ real_limit=1000
+ [ 1000 -lt 100 ]
+ cc -nostdlib -static -g main.c -o a.out
+ cat
Executable file is in a.out.
Core file will be saved according to pattern %N.core.
+ ulimit -s 8
+ exec ./a.out
zsh: segmentation fault (core dumped)  sh make-core.sh main.c
Nov 4 2016, 4:22 PM
emaste retitled D26315: make-core.sh: add FreeBSD support from to make-core.sh: add FreeBSD support.
Nov 4 2016, 4:19 PM
emaste added a comment to D26300: ELF core: Adding parsing of the floating-point and SSE registers on x86 32/64 bit elf core files.

We need to make sure this does not regress FreeBSD core handling -- I will test as soon as I can, and add FXSAVE parsing for FreeBSD. I'll use fpr_sse.cpp to generate FreeBSD core files as well (although note that we get ~2.5MB cores with default configuration, so tweaking malloc options will be necessary).

Nov 4 2016, 1:47 PM

Nov 2 2016

emaste added a comment to D24987: [ELF] Use MaxPageSize for aligning PT_LOAD.

I'm not sure what's the best solution here; we could add -zmax-page-size to the FreeBSD kernel build, but I'm not sure we want to diverge from ld.bfd. For now I'm testing with a change to set x86 MaxPageSize back to 0x200000.

Nov 2 2016, 3:34 PM · lld
emaste added a comment to D26199: [ELF] - Implemented threaded --build-id computation.

(Sorry, comments were on an old version of the patch)

Nov 2 2016, 2:22 PM
emaste added inline comments to D26199: [ELF] - Implemented threaded --build-id computation.
Nov 2 2016, 2:21 PM
emaste added a comment to D24987: [ELF] Use MaxPageSize for aligning PT_LOAD.

This change broke linking the FreeBSD kernel with lld, which relies on MAXPAGESIZE to set the kernel's phys addr. See https://svnweb.freebsd.org/base/head/sys/conf/ldscript.amd64?revision=303442&view=markup#l9

Nov 2 2016, 2:17 PM · lld