This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gold patch committed: Provide own version of ffsll


Ian Lance Taylor wrote:
> gold uses ffsll, particularly since gcc expands it inline when
> possible.  However, some systems don't have ffsll.  I committed this
> patch to add a version when the system does not have it.  I also tweaked
> the other replacement functions, adding declarations so that they would
> build without warnings.

  Did you consider adding these to libiberty instead?  I don't know if they're
all appropriate but some of them might well make handy additions, mightn't
they?  Also:

+int
+ffsll (long long arg)
+{
+  unsigned long long i;
+  int ret;
+
+  ret = 0;
+  for (i = (unsigned long long) arg; i != 0; i >>= 1)
+    ++ret;
+  return ret;
+}

... does that really find the first set bit?  It looks to me like it counts
all the one bits.  Possibly the terminating condition was meant to test "(i &
1) != 0"?


    cheers,
      DaveK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]