[Bug 223415] lang/rust: don't require SSE2 on i386 (at least for binary packages)

2017-11-27 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223415

Jean-Sébastien Pédron  changed:

   What|Removed |Added

 Status|New |In Progress
 CC||dumbb...@freebsd.org

--- Comment #7 from Jean-Sébastien Pédron  ---
Since you already did the work, feel free to commit it (or I can, just tell
me).

If in the future, if the patch breaks, we can revisit the decision to maintain
it or not.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 223415] lang/rust: don't require SSE2 on i386 (at least for binary packages)

2017-11-27 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223415

--- Comment #8 from commit-h...@freebsd.org ---
A commit references this bug:

Author: jbeich
Date: Mon Nov 27 22:02:30 UTC 2017
New revision: 454995
URL: https://svnweb.freebsd.org/changeset/ports/454995

Log:
  lang/rust: avoid LLVM targeting SSE2 on i386 by default

  This may help ports like textproc/ripgrep to run on old hardware.
  Rust itself still requires SSE2 until bootstrap is regenerated.

  PR:   223415
  Approved by:  rust (dumbbell)

Changes:
  head/Mk/bsd.gecko.mk
  head/lang/rust/Makefile
 
head/lang/rust/files/patch-src_librustc__back_target_i686__unknown__freebsd.rs
  head/textproc/ripgrep/Makefile
  head/www/firefox/Makefile

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


[Bug 223415] lang/rust: don't require SSE2 on i386 (at least for binary packages)

2017-11-27 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223415

Jan Beich  changed:

   What|Removed |Added

 Status|In Progress |Closed
 Resolution|--- |FIXED

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


dtrace -G vs. -flto

2017-11-27 Thread Jan Beich
I'd like to build www/firefox with both DTrace and LTO support. Both
Clang and GCC emit code that dtrace(1) doesn't understand.

$ cat main.c
#include 
#include 

int main()
{
  DTRACE_PROBE(test, foo);
  sleep(300);
  return 0;
}

$ cat test.d
provider test {
probe foo();
};

$ clang50 -flto -c main.c
$ dtrace -G -s test.d main.o
dtrace: failed to link script test: invalid file type: main.o
$ file main.o
main.o: LLVM IR bitcode

$ gcc7 -flto -c main.c
$ dtrace -G -s test.d main.o
dtrace: failed to link script test: No probe sites found for declared provider
$ file main.o
main.o: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped

--
$ uname -a
FreeBSD ... 12.0-CURRENT #0 r325899M ... amd64
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"


Re: dtrace -G vs. -flto

2017-11-27 Thread Mark Johnston
On Tue, Nov 28, 2017 at 01:34:00AM +0100, Jan Beich wrote:
> I'd like to build www/firefox with both DTrace and LTO support. Both
> Clang and GCC emit code that dtrace(1) doesn't understand.

Unfortunately, both gcc and clang's LTO implementations are completely
incompatible with the way that dtrace -G works. clang -flto produces
LLVM bitcode files, and gcc -flto produces ELF files with custom
sections. dtrace -G works by looking for relocations against symbols
named __dtrace_probe_*, and recording and overwriting the relocation
address, but the object files generated when using -flto are really only
meant for consumption by the static linker.

I think it might be possible to implement USDT for clang using LLVM's
patchpoint instrinsic, but this would still require some support in the
compiler. Anyway, I don't think it'll be possible to reconcile -flto
and dtrace -G without substantial work.
___
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"