forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.GOLDED

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 17.08.2016, 16:40
Semen Panevin
Guest
 
Сообщений: n/a
По умолчанию gcpuid

Semen Panevin написал(а) к All в Dec 15 23:47:16 по местному времени:

Доброго здоровьица тебе, All!

А может кто-то знает как починить gcpuid чтоб собирать без шаманства с -fno-pic или -DGCFGNOCPUID?

Я с этим c# весь ассемблер напрочь позабыл, а как он с c++ дружит никогда и не знал. Честно пытался применить рецепты из интернетов но пока безуспешно. Неужели только у меня такая проблема?

С наилучшими пожеланиями, Семён.

... Хорошо там, где нас нет... (это не про фидошников)
--- GoldED+/LNX 1.1.5-b20151203 (Linux 4.1.12-gentoo iF6M10)
Ответить с цитированием
  #2  
Старый 17.08.2016, 16:40
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию gcpuid

Alexey Vissarionov написал(а) к Semen Panevin в Dec 15 01:14:44 по местному времени:

Доброго времени суток, Semen!
03 Dec 2015 23:47:16, ты -> All:

SP> А может кто-то знает как починить gcpuid чтоб собирать без шаманства
SP> с -fno-pic или -DGCFGNOCPUID?
SP> Я с этим c# весь ассемблер напрочь позабыл, а как он с c++ дружит
SP> никогда и не знал. Честно пытался применить рецепты из интернетов
SP> но пока безуспешно. Неужели только у меня такая проблема?

Чего ты хочешь добиться? Лично мне всегда хватало getcpu()

А еще можно совсем убрать эти костыли и получать информацию о процессоре выполнением внешней команды при запуске деда. Примерно так:

sed -nre '/^$/Q;/^model name/{s,.*: |,,g;s, +, ,g;p}' /proc/cpuinfo

В частности, у меня оно выдает "Intel(R) Core(TM) i7 CPU 975 @ 3.33GНz"


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Пароль - как коньяк: чем больше звездочек, тем лучше
--- /bin/vi
Ответить с цитированием
  #3  
Старый 17.08.2016, 16:40
Semen Panevin
Guest
 
Сообщений: n/a
По умолчанию Re: gcpuid

Semen Panevin написал(а) к Alexey Vissarionov в Dec 15 07:27:26 по местному времени:

Доброго здоровьица тебе, Alexey!

Friday December 04 2015 01:14, Alexey Vissarionov писал Semen Panevin:

SP>> А может кто-то знает как починить gcpuid чтоб собирать без
SP>> шаманства с -fno-pic или -DGCFGNOCPUID? Я с этим c# весь
SP>> ассемблер напрочь позабыл, а как он с c++ дружит никогда и не
SP>> знал. Честно пытался применить рецепты из интернетов но пока
SP>> безуспешно. Неужели только у меня такая проблема?

AV> Чего ты хочешь добиться?
Чтоб голдед из репы компилился без лишних патчей.

AV> Лично мне всегда хватало getcpu()
Не припомню в сырцах голдеда такой функции. В отличие от gcpuid().

AV> А еще можно совсем убрать эти костыли и получать информацию о
AV> процессоре выполнением внешней команды при запуске деда. Примерно так:
Присылай патч (ц)

Только учти, что в винде нет /proc/cpuinfo да и в линухах ей быть в общем-то не обязательно.

Впрочем, как раз именно тут ты пытаешься прикрутить костыль (ажно внешняя команда!)

AV> sed -nre '/^$/Q;/^model name/{s,.*: |,,g;s, +, ,g;p}' /proc/cpuinfo

С наилучшими пожеланиями, Семён.

... Век живи, век учись!
--- GoldED+/LNX 1.1.5-b20151203 (Linux 4.1.12-gentoo iF6M10)
Ответить с цитированием
  #4  
Старый 17.08.2016, 16:40
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию gcpuid

Alexey Vissarionov написал(а) к Semen Panevin в Dec 15 11:55:00 по местному времени:

Доброго времени суток, Semen!
04 Dec 2015 07:27:26, ты -> мне:

SP>>> А может кто-то знает как починить gcpuid чтоб собирать без
SP>>> шаманства с -fno-pic или -DGCFGNOCPUID? Я с этим c# весь
SP>>> ассемблер напрочь позабыл, а как он с c++ дружит никогда и
SP>>> не знал. Честно пытался применить рецепты из интернетов но
SP>>> пока безуспешно. Неужели только у меня такая проблема?
AV>> Чего ты хочешь добиться?
SP> Чтоб голдед из репы компилился без лишних патчей.

Лишних - это каких? Может, есть смысл добавить их в mainstream?

AV>> Лично мне всегда хватало getcpu()
SP> Не припомню в сырцах голдеда такой функции. В отличие от gcpuid().

man 2 getcpu

AV>> А еще можно совсем убрать эти костыли и получать информацию
AV>> о процессоре выполнением внешней команды при запуске деда.
AV>> Примерно так:
SP> Присылай патч (ц)

Я и сам закоммитить могу :-)

SP> Только учти, что в винде нет /proc/cpuinfo да и в линухах ей быть
SP> в общем-то не обязательно.

Теоретически, собрать ядро без CONFIGPROCFS можно... вот только ни одна современная система с таким ядром работать не сможет, поэтому вполне можно считать, что /proc/cpuinfo есть всегда.

SP> Впрочем, как раз именно тут ты пытаешься прикрутить костыль (ажно
SP> внешняя команда!)
AV>> sed -nre '/^$/Q;/^model name/{s,.*: |,,g;s, +, ,g;p}' /proc/cpuinfo

Если вспомнить, что сабж появился в деде исключительно как виртуальная писька
для занятий компаративной фаллометрией ("если нечем похвалиться, похвались
процессором") и никакой другой функции не выполняет, использование внешних команд, наоборот, является предпочтительным, так как позволяет запихнуть их вывод в любое место темплейта.


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Главное прокукарекать, а там хоть трава не расти
--- /bin/vi
Ответить с цитированием
  #5  
Старый 17.08.2016, 16:40
Semen Panevin
Guest
 
Сообщений: n/a
По умолчанию Re: gcpuid

Semen Panevin написал(а) к Alexey Vissarionov в Dec 15 08:52:50 по местному времени:

Доброго здоровьица тебе, Alexey!

Friday December 04 2015 11:55, Alexey Vissarionov писал Semen Panevin:

AV>>> Лично мне всегда хватало getcpu()
SP>> Не припомню в сырцах голдеда такой функции. В отличие от
SP>> gcpuid().
AV> man 2 getcpu

ВЕРСИИ
Вызов getcpu() был добавлен в ядро 2.6.19 для x86_64 и i386.

Что-то я плохо верю, что ты такой молодой, что тебе всегда его хватало.

А голдедовский gcpuid украден из ядра фри гораздо более давно емнип.

AV> Теоретически, собрать ядро без CONFIGPROCFS можно... вот только ни
AV> одна современная система с таким ядром работать не сможет, поэтому
AV> вполне можно считать, что /proc/cpuinfo есть всегда.
Ты опять немножко забываешь про всякие там альтернативные ос, и даже не только винду.

AV> Если вспомнить, что сабж появился в деде исключительно как виртуальная
AV> писька для занятий компаративной фаллометрией ("если нечем
AV> похвалиться, похвались процессором") и никакой другой функции не
AV> выполняет, использование внешних команд, наоборот, является
AV> предпочтительным, так как позволяет запихнуть их вывод в любое место
AV> темплейта.
Никто не машает использовать внешние команды и запихивать их вывод куда угодно в дополнение к существующему функционалу. Я же хочу починить то что уже есть и работает, а не выпилить его совсем потому что ты им не пользуешься.

С наилучшими пожеланиями, Семён.

... Человек может все, пока не начнет что-то делать... (c)...
--- GoldED+/LNX 1.1.5-b20151203 (Linux 4.1.12-gentoo iF6M10)
Ответить с цитированием
  #6  
Старый 17.08.2016, 16:40
Semen Panevin
Guest
 
Сообщений: n/a
По умолчанию Re: gcpuid

Semen Panevin написал(а) к Alexey Vissarionov в Dec 15 09:13:32 по местному времени:

Доброго здоровьица тебе, Alexey!

Saturday December 05 2015 08:52, Semen Panevin послал Alexey Vissarionov:

AV>>>> Лично мне всегда хватало getcpu()
SP>>> Не припомню в сырцах голдеда такой функции. В отличие от
SP>>> gcpuid().
AV>> man 2 getcpu

Почитал повнимательнее.

ОПИСАНИЕ
Системный вызов getcpu() определяет процессор и узел, на котором вызывающая нить или процесс
выполняются в данный момент и записывает их в виде целых чисел в память, на которую
указывают аргументы cpu и node. Процессор представляется в виде уникального малого целого
числа, закреплённого за определённым ЦП. Узел представляется в виде уникального
идентификатора, закреплённого за определённым узлом NUMA.

Это вообще зачем и как оно может заменить gcpuid у которого совсем другая задача?

С наилучшими пожеланиями, Семён.

... Жизнь принуждает человека ко многим добровольным действиям... (c)...
--- GoldED+/LNX 1.1.5-b20151203 (Linux 4.1.12-gentoo iF6M10)
Ответить с цитированием
  #7  
Старый 17.08.2016, 16:40
Serguei E. Leontiev
Guest
 
Сообщений: n/a
По умолчанию Re: gcpuid

Serguei E. Leontiev написал(а) к Semen Panevin в Dec 15 11:27:27 по местному времени:

From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Привет Семён,

От 3 декабря 2015 г., 23:47:16 в fido7.ru.golded ты писал:
SP> А может кто-то знает как починить gcpuid чтоб собирать без
SP> шаманства с -fno-pic

Ой, какой суровый код там.

Интересно зачем scpuid обявили static? Если расположить её на стеке то
проблема исчезнет, даже 'call ; pop' не нужны будут.

SP> или -DGCFGNOCPUID?
SP> Я с этим c# весь ассемблер напрочь позабыл, а как он с c++
SP> дружит никогда и не знал. Честно пытался применить рецепты из
SP> интернетов но пока безуспешно. Неужели только у меня такая
SP> проблема?

Если слегка модифицировать код, убрать кучу аргументов asm() убрать и
заменить на один указатель на структуру станет существенно легче.

Вариант второй, если ветка defined(MSCVER) всех удовлетворяет и выдаёт
достаточную информацию, когда-то я писал аналоги функций НaveCPUID() и
cpuid() для Unix с обработкой сигнала. Можно оставить только её.

--
Успехов, Сергей Леонтьев. E-mail: lse@CryptoPro.ru


--- ifmail v.2.15dev5.4
Ответить с цитированием
  #8  
Старый 17.08.2016, 16:40
Semen Panevin
Guest
 
Сообщений: n/a
По умолчанию Re: gcpuid

Semen Panevin написал(а) к Serguei E. Leontiev в Dec 15 13:20:58 по местному времени:

Доброго здоровьица тебе, Serguei!

SP>> А может кто-то знает как починить gcpuid чтоб собирать без
SP>> шаманства с -fno-pic

SEL> Ой, какой суровый код там.

SEL> Интересно зачем scpuid обявили static? Если расположить её на стеке то
SEL> проблема исчезнет, даже 'call ; pop' не нужны будут.
Присылай патч :)

Там написано что этот код честно украден из ядра фри. Подозреваю, что в ядре фри он уже тридцать три раза переписан и более совместим с современными процессорами и компиляторами, но у меня нет под рукой исходников ядра фри чтоб это проверить.

SEL> Если слегка модифицировать код, убрать кучу аргументов asm() убрать и
SEL> заменить на один указатель на структуру станет существенно легче.

SEL> Вариант второй, если ветка defined(MSCVER) всех удовлетворяет и
SEL> выдаёт достаточную информацию, когда-то я писал аналоги функций
SEL> НaveCPUID() и cpuid() для Unix с обработкой сигнала. Можно оставить
SEL> только её.

С наилучшими пожеланиями, Семён.

... Век живи, век учись!
--- GoldED+/LNX 1.1.5-b20151203 (Linux 4.1.12-gentoo iF6M10)
Ответить с цитированием
  #9  
Старый 17.08.2016, 16:40
Serguei E. Leontiev
Guest
 
Сообщений: n/a
По умолчанию Re: gcpuid

Serguei E. Leontiev написал(а) к Semen Panevin в Dec 15 17:21:08 по местному времени:

From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Привет Семён,

От 5 декабря 2015 г., 13:20:58 в fido7.ru.golded ты писал:
SP> Доброго здоровьица тебе, Serguei!
SP>>> А может кто-то знает как починить gcpuid чтоб собирать
SP>>> без шаманства с -fno-pic
SEL>> Ой, какой суровый код там.
SEL>> Интересно зачем scpuid обявили static? Если расположить её
SEL>> на стеке то проблема исчезнет, даже 'call ; pop' не нужны
SEL>> будут.
SP> Присылай патч :)

Подумаю на сей счёт, можно ли проблему решить за 5 строчек. Однако
остался без ответа второй вопрос.

SEL>> Если слегка модифицировать код, убрать кучу аргументов
SEL>> asm() убрать и заменить на один указатель на структуру
SEL>> станет существенно легче. Вариант второй, если ветка
SEL>> defined(MSCVER) всех удовлетворяет

Так и ветка defined(MSCVER) удовлетворяет всю Одессу или нет? Есть ли
смысл держать две ветки распознавания типа процессора?

--
Успехов, Сергей Леонтьев. E-mail: lse@CryptoPro.ru


--- ifmail v.2.15dev5.4
Ответить с цитированием
  #10  
Старый 17.08.2016, 16:40
Semen Panevin
Guest
 
Сообщений: n/a
По умолчанию Re: gcpuid

Semen Panevin написал(а) к Serguei E. Leontiev в Dec 15 20:14:30 по местному времени:

Доброго здоровьица тебе, Serguei!

Saturday December 05 2015 17:21, Serguei E. Leontiev писал Semen Panevin:

SEL> Так и ветка defined(MSCVER) удовлетворяет всю Одессу или нет? Есть
SEL> ли смысл держать две ветки распознавания типа процессора?

Я боюсь что ветка MSСVER компилится только microsoft c++ compiler. Поэтому в линуксе идёт мимо тазика. Так что твой вопрос мне очень непонятен. Как использовать microsoft c++ compiler в линуксе и прочих полуосях я не знаю.

С наилучшими пожеланиями, Семён.

... Если человек родился, то это уж на всю жизнь... (c)...
--- GoldED+/LNX 1.1.5-b20151203 (Linux 4.1.12-gentoo iF6M10)
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:28. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot